Matplotlib日期为滴答

时间:2015-07-30 00:08:12

标签: python date matplotlib

我有一个在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日有蜱虫......

如何给它一个星期的偏移?

提前感谢!

1 个答案:

答案 0 :(得分:-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)