【问题标题】:Matplotlib dates as ticksMatplotlib 日期为刻度
【发布时间】:2015-07-30 00:08:11
【问题描述】:
我在 x 轴上有一个日期,在 y 轴上有一些任意数字。
我想每隔一个星期六有一个 x-tick。到目前为止,使用以下代码可以正常工作:
weeks = matplotlib.dates.WeekdayLocator(byweekday=5, interval=2)
ax.xaxis.set_major_locator(weeks)
我现在在今年 7 月 4 日,7 月 18 日,等等...
但是我想在 7 月 11 日,7 月 25 日,...
我怎样才能给它一个星期的偏移量?
提前致谢!
【问题讨论】:
标签:
python
date
matplotlib
【解决方案1】:
所以这可能是作弊,因为我使用pandas,但我认为它有效。
import pandas as pd
#get all Saturdays in the range
all_sats = pd.date_range(start='20150101', end='20150630', freq='W-Sat')
#get every other Saturday in the range
eo_sats = pd.date_range(start='20150101', end='20150630', freq='2W-Sat')
#get properly offset list of Saturdays using a set difference
final_sats = all_sats.difference(eo_sats)
现在您只需将final_sats 输入到ax.set_xticks comme ca:
ax.set_xticks(final_sats)