我用pd.Series([1]*month_limits.size, month_limits).plot(ax=ax)
创建了以下图表
如何用matplotlib重新创建相同的x ticks标签?我的意思是年和月不互相覆盖
我最好的办法是同时拥有几年和几个月,但几年是压倒几个月的
import datetime
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd
month_limits = pd.date_range('2021-08', '2023-01', freq="1m",
normalize=True) + datetime.timedelta(days=1)
plt.plot(month_limits, [1]*month_limits.size)
l1 = mdates.YearLocator()
l2 = mdates.MonthLocator(interval=1)
ax.xaxis.set_major_locator(l1)
ax.xaxis.set_minor_locator(l2)
ax.xaxis.set_major_formatter(mdates.ConciseDateFormatter(l1))
ax.xaxis.set_minor_formatter(mdates.ConciseDateFormatter(l2))
1条答案
按热度按时间5cg8jx4n1#
set_minor_locator
和set_minor_formatter
表示月份'%b'
set_major_locator
和set_major_formatter
表示月份和年份'%b\n%Y'
mdates.YearLocator(month=1)
其中month
是显示年份的月份。*在
python 3.11.2
、matplotlib 3.7.1
中测试