Matplotlibを使って日付をプロットすると、Xラベルが右に移動します。これは、10-15以上のエントリがある場合にのみ発生します。私は、問題はPythonの日付をどのように扱うかではあるが、コードに正確に何が間違っているのか理解できないと思う。私は本当にあなたの助けに感謝します。matplotlibでPythonの日付をプロットする:xラベルが右に移動
私はこの形式で日付のリストを取得:
mydates = [datetime.datetime(2016, 12, 17, 8, 0), datetime.datetime(2016, 12, 4, 8, 0), etc.]
マイコード:
x = mydates
x = date2num(x)
y = female_values
z = male_values
plt.figure(figsize=(10, 4.5))
matplotlib.rcParams.update({'font.size': 10})
ax = plt.subplot(111)
width = 0.2
opacity = 0.5
ax.bar(x, y, width=width, color='orange', align='center', alpha=opacity)
ax.bar(x+width, z, width=width, color='green', align='center', alpha=opacity)
ax.xaxis_date()
ax.xaxis.set_major_formatter(mdates.DateFormatter('%d/%m'))
plt.xticks(x+(width/2), rotation=60)
plt.legend(['Female', 'Male'], loc='upper left')
timestr = time.strftime("%Y%m%d-%H%M%S")
plt.savefig('myapp/static/charts/'+timestr+'.png')
プロット:
より多くの例(14日):
15日:
set_ticksを使ってxticksの数を設定しようとしましたか? –
いいえ、私はしませんでした。 'ax.set_xticks(range(len(mydates)))'のようなものでしょうか? – aviss
はい、お試しください。 –