解决:matplotlib画图时,横坐标日期太多重叠在一起,减少横坐标数量

使用matplotlib画图时,横坐标是日期,然后横坐标太多了,都重叠在一起。下图所示,横坐标都重叠在一起。网上查了很多资料,大部分都说要旋转横坐标,或者是手动设定横坐标,都不满足我的需求,我就想找个方法让图形自动生成横坐标,也不用太多。

# 下图代码
plt.plot(df['date'], df['y], color='orange')
plt.scatter(df['date'], df['y1'], color='red')
plot.scatter(df['date'], df['y2'], color='blue')
plt.show()

可以看到横坐标是重叠在一起的
后来找到原因了,是因为matplotlib并没有将你的横坐标当做日期格式,所以只需要重新设置成日期格式就行了。具体做法如下。

# 利用pandas把横坐标转为日期格式
df['date'] = pd.to_datetime(df['date'])
plt.plot(df['date'], df['y], color='orange')
plt.scatter(df['date'], df['y1'], color='red')
plot.scatter(df['date'], df['y2'], color='blue')
plt.show()

在这里插入图片描述
可以看到横坐标变成了日期,数量变少了很多,且没有重叠,看起来美观多了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐