[英]Python x-labels evenly spreaded
我有点“解决了这个问题”。 我四处询问,但并没有真正找到适合我需要的答案,因为每次打勾总是显示出来。 但是,当我将xtick_labels保留为datetime格式时,如果要显示的值太多,它将由matplotlib本身进行排序。 这根据Armamatita提供的数据集
import matplotlib.pyplot as plt
import datetime
import numpy as np
x = np.array([datetime.datetime(i,1,1) for i in range(1700,2017)])
y = np.random.randint(0,100,len(x))
fig, ax = plt.subplots()
ax.plot(x,y)
plt.show()
当我想看到的日子超过14天时,我只是让matplotlib选择xtick_labels。 当等于或小于14时,我自己使用以下方法添加:
alldays = DayLocator() weekFormatter = DateFormatter('%a %b %d %Y')
这是在返回无花果之前的权利:
ax.xaxis.set_major_locator(alldays) ax.xaxis.set_major_formatter(weekFormatter)
它不是最简洁的pythonic代码,但是可以解决问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.