如何避免matplotlib中x刻度之间的重叠?

时间:2015-02-12 10:45:03

标签: python matplotlib

我尝试使用matplotlib绘制对日期的依赖(我使用日期作为X值)。结果我得到了一个带有大量x-ticks(日期)的图,这些日期重叠,以至于无法识别那里的日期。

我读到问题可能出现的日期不是真正的日期对象,而是表示日期的字符串(例如' 2015-02-12')。但是,我确实有日期对象,但它仍然不起作用。

这是我的代码:

plt.figure()
plt.xlim([date_1, date_2])
plt.xticks(rotation=90)
plt.plot(df['col1'].tolist(), df['col2'].tolist(), marker = 'o')
plt.savefig(fname)

1 个答案:

答案 0 :(得分:2)

我记得通过告诉python不是绘制所有日期时间而只绘制巨大列表中的每个第n个日期时间来解决这个问题。

在我的代码中,我在以下命令中解决了这个问题:

ax.axes.get_xaxis().set_ticks(datetimes[::2])

请注意,[:: 2]告诉python采用每一个元素。

你应该尝试不同的价值观,看看最适合你的是2,50或200。