Matplotlib滴答频率

时间:2015-07-07 20:42:19

标签: python date matplotlib graph graphing

我有一个日期列表,我正在根据分数列表进行绘图。

date = ['5/25/2015', '5/25/2015', '5/3/2015', '2/4/2015', '2/1/2015', '1/25/2015', '12/31/2014', '10/9/2014', '8/26/2014', '7/24/2014', '7/3/2014', .....]`

scores = [6.497, 14.915, 9.911, 9.908, 11.99, 10.993, 14.987, .... ]  

两者的数量相同。

我正在生成如下图表:

figScore = plt.figure() 
plt.plot(range(len(Scores)), Scores)
plt.xticks(range(len(Scores)), date, size = "small", rotation = 90)
plt.tight_layout()

name = 'plot.png'
figScore.savefig(name)

(由于< 10 rep而没有图像)

但是,我不能改变滴答频率。我希望x标签在x轴上每5个日期出现一次。我已经尝试了多种方法来修复它,但它无法正常工作。

1 个答案:

答案 0 :(得分:0)

不确定这是否是最简单的方法,但只有一种方法是制作一个除了每五个日期以外大部分空白的额外列表。例如:

plotdate = []
for idx, val in enumerate(date):
    if idx%5 == 0:
        plotdate.append(val)
    else:
        plotdate.append('')

然后在调用plt.xticks而不是日期变量时使用plotdate列表。这似乎对我有用。