Skip to main content
 首页 » 编程设计

python之Matplotlib 日期作为刻度

2025年05月04日11itcoder

我有一个图,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 日有报价,...

我怎样才能给它一个星期的偏移量?

提前致谢!

请您参考如下方法:

所以这可能是作弊,因为我使用 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)