我的目的是:绘制一些东西,得到与默认的x-tick标签相对应的数字,并使用这些数字来索引日期列表,这样我就可以用这些日期代替默认标签。在
假设我有两个列表:
my_data = range(30)
dates_ls = ['date_str1', 'date_str2', ... , 'date_str30']
{{1}从cdx开始,用数字来代替cdx,这意味着从cdx开始的数据。在
编辑:所以,问题似乎是由于我处于for循环中:
^{pr2}$在上面,我循环使用URL名称和metrics,它们是字典键的列表,允许我获取data2plot,这只是一个数字列表。如果我突出显示并运行for循环的代码,它可以正常工作,但是如果我运行整个循环,产生多个数字,x_labs1最终将是一个0的列表,因此我所有的x-tick标签都是相同的,每个标签都是dates\ls中的第一个项目。在
这个问题的方法不太适合确定地设置勾选标签。Ticklabels应该根据它们标记的值而不是屏幕上的位置来设置。在
为了定制ticklabels,
FuncFormatter
通常很有用。这可以使用一个函数作为输入,返回所需的ticklabel,给定要勾选的x值。在完整示例:
^{pr2}$注意,如果这样做的目的是在轴上显示日期时间,那么它就太复杂了。相反,使用datetime对象直接绘制数据,如Datetime example
相关问题 更多 >
编程相关推荐