2013-04-09 94 views
1

我已經編寫代碼來生成繪製192條數據的堆積條形圖。數據跨越4天,每個小節代表30分鐘的時間段。在matplotlib中編輯堆疊條形圖的x軸刻度標籤

該圖產生了192個重複的標記標記,這在外觀上顯然是不可取的。

爲了解決這個問題,我已經添加下列行到我的代碼:

myFmt = mdates.DateFormatter( '%d')
ax.xaxis.set_major_formatter(myFmt)

欲每天都有一個刻度標籤,但當我的圖形跨越4天或更短時間時,matplotlib會自動生成不需要的額外刻度標籤。當有5天或更多天時,這個問題不會發生。有什麼辦法可以強制圖表每天只有一個勾號?

enter image description here

回答

3

你只需要使用正確的定位:

ax.xaxis.set_major_locator(matplotlib.dates.DayLocator()) 

(doc)

+0

太感謝你了! – 2013-04-09 05:40:22

+0

你知道限制滴答數量的方法嗎?例如,如果我在x軸上有60天,是否有辦法減少滴答的數量,使它們不重疊? – 2013-04-10 23:47:04

+0

@OsmondBishop查看文檔鏈接。 kwarg'interval'將設置天數之間的時間間隔。 'matplotlib.dates.DayLocator(interval = 2)'將每隔一天標記一次。 – tacaswell 2013-04-11 01:55:02