2016-06-17 10 views
1

私は時間に対して電力使用量をプロットしようとしています。プロットのmatplotlibプロットでx軸ラベルを正しく表示しています

from datetime import datetime 
import matplotlib.pyplot as plt 
import numpy as np 

timelist = [] 
valuelist = [] 

# Logic that populates timelist and valuelist 

timeaxis = np.array(timelist) 
valueaxis = np.array(valuelist) 

plt.plot(timeaxis, valueaxis, 'r-') 
plt.savefig('elec_use.png', bbox_inches='tight') 
plt.show() 

x軸のラベル、私は上記のすべてのグラフの長さに詰め込まれているプログラムを実行します:私は、このスクリプトを使用しています。 x-axis labels crammed

私はそうのようなxticksを追加することで、ラベルを回転させてみました:

plt.xticks(timeaxis, rotation=90) 

これは、ラベルがトリミングされ得るようになります。 x-axis labels cut off

問題を解決するにはどうすればよいですか?私はplt.gcf().subplots_adjust(bottom=0.25)を追加しようとしましたが、これはラベルを修正するものではなく、単にグラフの下に不動産を増加させるだけです。私はx軸のラベルをJun 02 2016と言うか、単にJun 02とします。私はグラフが広くても気にしない。助けを前にありがとう。

答えて

1

gcf().autofmt_xdateを使用すると、x軸をうまくフォーマットできます。日付文字列形式の場合は、matplotlib.dates.DateFormatterを使用できます。

fig, ax = plt.subplots(1) 

timelist = [] 
valuelist = [] 

# Logic that populates timelist and valuelist 

timeaxis = np.array(timelist) 
valueaxis = np.array(valuelist) 
ax.plot(timeaxis, valueaxis, 'r-') 

# rotate and align the tick labels so they look better 
fig.autofmt_xdate() 

# use a more precise date string for the x axis locations in the 
# toolbar 
import matplotlib.dates as mdates 
ax.fmt_xdata = mdates.DateFormatter('%Y-%m-%d') 
plt.savefig('elec_use.png', bbox_inches='tight') 
plt.show() 
:だからコードはこのようになります

enter image description here


:それは以下のようになります

関連する問題