2016-06-11 27 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() 

はしかし、これは仕事(Yとは対照的に、Xに移動する)ん:

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

私はどこにでも検索しただけで見つけることができますrcParamsを含むソリューショングラフのすべてのラベルに影響するため、これは望ましくない解決策です。 1つのラベルだけを移動したいと思います。

ありがとうございました!

答えて

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