簡體   English   中英

如何格式化Matplotlib輔助y軸日期時間值

[英]How to format Matplotlib secondary y-axis datetime values

我正在嘗試使用matplotlib繪制疊加在條形圖上的折線圖。 數據已正確繪制,但是描述預測開始時間的輔助y軸輸出錯誤。 “預測的開始時間”的所有值均四舍五入為小時,例如(13:00、14:00等),但是在繪制時會在y軸上轉換為11:40、12:13:20等,如下所示:

預測開始時間CSV數據

預測開始時間和事件長度與預測運行圖

產生該圖像的代碼如下:

en1 = []
en2 =[]

en1 = np.array(fh.loc(axis=0)[0:44])
en2 = np.array(ev.loc(axis=0)[0:44])

fig,ax = plt.subplots(figsize=(10,10))
ax.bar(en1,en2,color='gainsboro')
plt.ylabel('Forecasted Event Length')

plt.xticks(rotation='90')
ax2 = ax.twinx()
mn, mx = ax2.get_ylim()
ax2.set_ylabel('Forecasted Start Time')
color = 'tab:blue'
ax2.tick_params(axis='y')


ax2.plot(fh,start, marker='o')

plt.legend()

任何有關如何在輔助y軸上正確繪制csv的實際datetime值的想法,將不勝感激!

您需要使用ax.barax2.plot而不是plt.barplt.plot在軸對象上進行plt.plot

您可以使用軸格式化程序來執行此操作:

from matplotlib.dates import DateFormatter

ax2.yaxis.set_major_locator(md.HourLocator(interval=1))
ax2.yaxis.set_major_formatter(md.DateFormatter('%H:%M'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM