在matplotlib中移动轴文本

时间:2016-06-11 16:00:09

标签: python matplotlib

我正在尝试在matplotlib中移动轴标签。我认为这样可行,但事实并非如此:

import matplotlib.pyplot as plt
plt.figure(0)
xlbl = plt.xlabel("foo")
pos = xlbl.get_position()
pos = (pos[0], pos[1] + 1)
xlbl.set_position(pos)
plt.draw()

但是,这确实有效(在x中移动而不是y):

xlbl = plt.xlabel("foo")
pos = xlbl.get_position()
pos = (pos[0]+1, pos[1])
xlbl.set_position(pos)
plt.draw()

我到处搜索,只能找到涉及rcParams的解决方案。这是一个不受欢迎的解决方案,因为它影响我的图表中的所有标签。我想只移动一个标签。

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试使用set_label_coords

import matplotlib.pyplot as plt
plt.figure(0)
xlbl = plt.xlabel("foo")
pos = xlbl.get_position()
pos = (pos[0]+0.3, pos[1]+0.5)
ax = plt.gca()
ax.xaxis.set_label_coords(pos[0], pos[1])
plt.draw()
plt.show()

enter image description here