私は特定の場所で16年以上の炭素フラックスの時系列をプロットしました。年番号(1〜16)の代わりにx軸に年(1992〜2007年)が必要です。私がx軸を1992の最小値と2007の最大値に設定すると、グラフはプロットに表示されませんが、最小/最大の年を設定しないと表示されます。私は何が間違っているのか分かりません。私は1年以上の別のtimeseriesをプロットし、MonthLocatorを使用して月をx軸にラベル付けすることができましたが、YearLocatorと運がないです。ここに私が書いたコードがあります:matplotlibを使用したx軸の最小/最大年の設定
fig=pyplot.figure()
ax=fig.gca()
ax.plot_date(days,nee,'r-',label='model daily nee')
ax.plot_date(days,nee_obs,'b-',label='obs daily nee')
# locate the ticks
ax.xaxis.set_major_locator(YearLocator())
# format the ticks
ax.xaxis.set_major_formatter(DateFormatter('%Y'))
# set years 1992-2007
datemin = datetime.date(1992, 1, 1)
datemax = datetime.date(2007, 12, 31)
ax.set_xlim(datemin, datemax)
labels=ax.get_xticklabels()
setp(labels,'rotation',45,fontsize=10)
legend(loc="upper right", bbox_to_anchor=[0.98, 0.98],
ncol=1, shadow=True)
pyplot.ylabel('NEE($gC m^{-2} day^{-1}$)')
pyplot.title('Net Ecosystem Exchange')
pyplot.savefig('nee_obs_model_HF_daily.pdf')
# rotates and right aligns the x labels, and moves the bottom of the
# axes up to make room for them
#fig.autofmt_xdate()
pyplot.show()
pyplot.close()
'days'配列はどのように構築されていますか? –
'days'、' nee'、 'nee_obs'のサンプルデータを提供できますか? 'matplotlib.dates'の' YearLocator'と 'DateFormatter'が' pyplot'に 'setp'と' legend'を見つけることができるようにインポートを投稿してください。 – BioGeek