2016-08-14 4 views
1

ティックラベルは、プロット上で回転させたいときに消えます。 は、ここでは、コードです:回転後にティックラベルが表示されない

from matplotlib import pyplot as plt 

fg = plt.figure() 
fg.canvas.set_window_title('My plot') 

ax = fg.add_subplot(1,1,1) 
ax.plot(my_points) 
ax.set_xticklabels(ax.xaxis.get_majorticklabels(), rotation=90) 

答えて

1

図が描かれる前に、ticklabelsは空です。したがって ax.xaxis.get_majorticklabels()plt.show()の前に呼び出すと、空のシーケンスTextが返されます。この問題を解決するために

一つの方法ではなく、

ax.set_xticklabels(ax.xaxis.get_majorticklabels(), rotation='vertical') 

plt.xticks(rotation=90)を呼び出すことです。この問題を解決する別の方法は、非空の文字列とTextラベルを移入するax.xaxis.get_majorticklabels()を呼び出す前fg.canvas.draw()を呼び出すことですが、これは以来、非効率的ですfg.canvas.draw()plt.show()を使用すると図が2回レンダリングされますが、これは実際にはplt.xticksを使用することができるため、必要ではありません。


import numpy as np 
from matplotlib import pyplot as plt 

fg = plt.figure() 
fg.canvas.set_window_title('My plot') 
my_points = np.random.randint(10, size=10) 
ax = fg.add_subplot(1,1,1) 
ax.plot(my_points) 
plt.xticks(rotation=90) 
plt.show() 

enter image description here

関連する問題