【发布时间】:2020-01-27 22:22:15
【问题描述】:
我有一年中从 1 月 1 日到 12 月 31 日的每日天气数据。我正在绘制这些每日数据,并希望我的 x-ticks 是每月间隔。但是当我绘制它时,x-tick 来自 Jan-Jan 而不是 Jan-Dec。我如何摆脱最后一个具有 Jan 的 x-tick 并将其限制到 12 月。
如果我将 xlim 设置为从一月到十二月,则图表将覆盖整个轴。我想要从线条开始和结束的地方有一点差距。
日期格式为 YYYY-MM-DD
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import datetime
plt.figure()
plt.plot(minmax2014['Date'], minmax2014['min'], color='r', label='Record High')
plt.plot(minmax2014['Date'], minmax2014['max'], color='b', label='Record Low')
plt.legend(loc=2)
d=minmax2014['Date'].values
plt.gca().fill_between(d, minmax2014['max'], minmax2014['min'], facecolor='yellow', alpha=0.3)
plt.gca().xaxis.set_major_locator(mdates.MonthLocator())
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%b'))
【问题讨论】:
-
是否100%确认又一年1月没有数据?这将改变答案
-
这里的刻度在,例如
Dec 01。您仍然需要显示Dec 02,..., Dec 31。事实上,Dec 31与明年的Jan 01非常接近,所以有另一个刻度Jan是有意义的(想想1.99和2带有整数刻度) -
是的,确认没有另一年的1月份的数据。有没有办法在每月 15 号左右而不是每月 1 号左右更改几个月的 xtick?我宁愿没有新的 Jan xtick,因为数据是一年的。谢谢。
标签: python pandas date matplotlib