Matplotlib MatLibPlot:将y轴的记号标签放高
我想把垂直轴刻度的标签放在刻度上。基本上,问题是沿轴移动标签。我见过将标签从轴上移开、旋转标签的解决方案,但我的要求似乎不太常见Matplotlib MatLibPlot:将y轴的记号标签放高,matplotlib,Matplotlib,我想把垂直轴刻度的标签放在刻度上。基本上,问题是沿轴移动标签。我见过将标签从轴上移开、旋转标签的解决方案,但我的要求似乎不太常见 import matplotlib.pyplot as plt ax = plt.gca() ax.spines['left'].set_position('center') ax.spines['bottom'].set_position('center') ax.spines['right'].set_color('none') ax.spines['top']
import matplotlib.pyplot as plt
ax = plt.gca()
ax.spines['left'].set_position('center')
ax.spines['bottom'].set_position('center')
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
line = plt.Line2D([0,1],[0,1], color='black', zorder=2)
plt.gca().add_line(line)
plt.show()
您可以将标签底部对齐,使其看起来相对于刻度移动到顶部
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.tick_params(axis="y", length=20, pad=0)
plt.setp(ax.get_yticklabels(), va="bottom", ha="left")
plt.show()
当不想导入pyplot时,与plt.setp的等价物是
for t in ax.get_yticklabels():
t.set(va="bottom", ha="left")
您可以将标签底部对齐,使其看起来相对于刻度移动到顶部
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.tick_params(axis="y", length=20, pad=0)
plt.setp(ax.get_yticklabels(), va="bottom", ha="left")
plt.show()
当不想导入pyplot时,与plt.setp的等价物是
for t in ax.get_yticklabels():
t.set(va="bottom", ha="left")
“在刻度上”是什么意思?@ImportanceOfBeingErnest标准,标签(垂直轴的刻度)垂直居中放置。我想把它放在刻度线(垂直轴的刻度线)的水平线上。“刻度线”是什么意思?@ImportanceOfBeingErnest标准,标签(垂直轴的刻度线)垂直居中放置。我想把它放在刻度线的水平线上(垂直轴)。这就是我要找的!如果我使用图形和
图gca()
,如何到达设置点?调用plt….
似乎是一个全局调用(对我这个新手来说很奇怪),这是一种帮助函数。我用另一个选项更新了答案,但是如果你使用pyplot,你也可以使用它的setp
功能。非常好,那么我只能移动导致问题的单个标签。是的,但是请记住,一旦你这样做,你就不应该在以后更改轴的限制。这就是我一直在寻找的!如果我使用图形和图gca()
,如何到达设置点?调用plt….
似乎是一个全局调用(对我这个新手来说很奇怪),这是一种帮助函数。我用另一个选项更新了答案,但如果您以任何方式使用pyplot,您也可以使用其setp
功能。非常好,那么我只能移动使问题变为“是”的单个标签,但请记住,一旦您这样做,以后就不应该更改轴的限制。