2016-06-11 186 views
1

我正试图在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

尝试使用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

+0

需要的位置是不一样的xlbl.get_position返回的那些()(似乎是相对轴坐标,我想.. ),但通过调整我得到它的工作,谢谢! – julienl

相关问题