2016-06-11 148 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