簡體   English   中英

僅在半小時和完整小時顯示Matplotlib Xaxis標簽

[英]Show Matplotlib Xaxis labels only at half and full hour

我有一個matplotlib圖表,其時間軸為x軸(時間戳由matplotlib.dates.date2num()轉換)。

我想顯示一個帶有標記的網格,標記每半個小時和整個小時,如下所示:10:00,10:30,11:00,......

要格式化標簽間隔,我使用以下代碼行:

import matplotlib.dates as mdates
ax.xaxis.set_major_locator(mdates.MinuteLocator(interval=30))

問題是 - 數據不會在完整或半小時內開始。 所以我得到的只是正確的間隔,但是從每一半和整個小時都移開了。 即10:17,10:47,11:17,...取決於數據何時開始。 怎么解決這個問題?

使用由byminute指出的byminute論證是正確的方法。

此代碼有效:

ax.xaxis.set_major_locator(mdates.MinuteLocator(byminute=[0,30])

現在只有一半和幾個小時會顯示標簽。

我最初通過byminute測試,但沒有刪除interval=30 ,這導致錯誤:

ValueError:無效的rrule byxxx生成一個空集。

因此,同時使用參數byminuteinterval不起作用,無論如何都不是必需的。

您可以使用MinuteLocator只用byminute參數:

mdates.MinuteLocator(byminute=[0,30])

這將把定位器固定到每一個半小時。

暫無
暫無

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

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