如果interval=2在设置x轴日期间隔时没有生效,可能是因为使用的日期格式不是datetime对象。在matplotlib中,日期类型的数据需要先转换为datetime对象,然后才能设置日期间隔。

下面是一个示例代码,演示如何设置x轴日期间隔为2天:

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

# 创建示例数据
dates = pd.date_range('2022-01-01', '2022-01-10', freq='D')
values = range(len(dates))

# 转换日期数据为datetime对象
dates = mdates.date2num(dates)

# 绘制图形
fig, ax = plt.subplots()
ax.plot_date(dates, values, '-')

# 设置x轴日期间隔为2天
ax.xaxis.set_major_locator(mdates.DayLocator(interval=2))
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))

# 自适应x轴日期标签
fig.autofmt_xdate()

plt.show()

在上述代码中,首先使用pandas生成了一组日期数据。然后使用matplotlib.dates.date2num方法将日期数据转换为datetime对象。接着,通过ax.xaxis.set_major_locator方法设置x轴的主要刻度间隔为2天,并使用ax.xaxis.set_major_formatter方法设置日期标签的显示格式。最后,使用fig.autofmt_xdate方法自适应调整x轴日期标签的显示。

通过这种方式,可以正确设置x轴日期间隔为2天。如果你仍然遇到问题,请提供更详细的代码和数据,以便更好地帮助你解决问题

matplotlib的x轴日期间隔显示设置interval=2不生效

原文地址: https://www.cveoy.top/t/topic/isd9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录