如何在matplotlib / pylab图表中水平打印Y轴标签?

时间:2014-12-27 21:46:32

标签: python matplotlib label

我使用matplotlib / pylab Python模块创建非常简单的图表。这封信" y"标记Y轴的是侧面。如果标签较长(例如单词),您会期望这样,以免将图表的外部向左延伸太多。但对于一个单字母的标签,这没有意义,标签应该是正直的。我的搜索空白了。如何打印" y"水平?

2 个答案:

答案 0 :(得分:81)

很简单。绘制标签后,您只需更改旋转:

from matplotlib import pyplot as plt
plt.ion()
plt.plot([1,2,3])
h = plt.ylabel('y')
h.set_rotation(0)
plt.draw()

或者,您可以将轮换作为参数传递,即

plt.ylabel('y',rotation=0)

答案 1 :(得分:36)

扩展已接受的答案,当我们使用特定的轴对象ax时:

ax.set_ylabel('abc', rotation=0, fontsize=20, labelpad=20)

请注意,labelpad通常也需要手动调整 - 否则“abc”会侵入图表。

从简短的实验中我猜测labelpad是刻度标签的边界框和y标签的中心之间的偏移。 (所以,并不是名字所暗示的填充 - 如果这是与标签边界框的间隙,那将更直观。)