繁体   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