我想在matplotlib中创建一个DateLocator,它选择每个月的所有周一和头几天。由于matplotlib使用了dateutil库,我阅读了关于如何将RRuleLocator
与rrule
对象一起使用的文档。使用dateutil中的rruleset对象,我可以实现所需的功能:
>>> rrset = rruleset()
>>> rrset.rrule(rrule(DAILY, byweekday=MO, count=5))
>>> rrset.rrule(rrule(DAILY, bymonthday=1, count=5))
>>> list(rrset)
[datetime.datetime(2020, 11, 30, 16, 10, 2),
datetime.datetime(2020, 12, 1, 16, 10, 2),
datetime.datetime(2020, 12, 7, 16, 10, 2),
datetime.datetime(2020, 12, 14, 16, 10, 2),
datetime.datetime(2020, 12, 21, 16, 10, 2),
datetime.datetime(2020, 12, 28, 16, 10, 2),
datetime.datetime(2021, 1, 1, 16, 10, 2),
datetime.datetime(2021, 2, 1, 16, 10, 2),
datetime.datetime(2021, 3, 1, 16, 10, 2),
datetime.datetime(2021, 4, 1, 16, 10, 2)]
但不幸的是,我没有找到如何将rruleset与matplotlib一起使用RRuleLocator
需要一个RruleRapper对象(在matplotlib中定义),该对象隐藏了rrule实例,我无法将其用于rruleset。还有别的办法吗
如果我理解正确,打电话给
.set_xticks(list(rrset))
就足够了。例如:收益率(今天是20年11月26日,其中2020年11月30日是下周一,因此勾号标签与本月1日重叠):
相关问题 更多 >
编程相关推荐