Python:绘制柱状图时,多个柱子粘在一起

问题

在用df.plot.bar()绘制柱状图时,预想中分开的多列却绘制到了一列中,导致绘制结果出错

预期

 

错误绘制

原始数据

 

我的数据是由date和energy两列构成的,需要绘制时间数值柱状图。

原始代码

df.plot.bar(x=0,y=1)

从原始代码中可以看出我是想用第0列date做横坐标,第1列energy做纵坐标绘制柱状图的。

原因

暂时未知,如果有知道的麻烦在评论区告诉我。

我猜想是因为系统不知道无法组织第0列date列的数据为横坐标,因为它不像0 1 2这种有明显的大小顺序可以正常分布在横坐标轴上。

解决方法

解决方案:

复制代码
#绘制energy列关于index列的柱状图(此时横坐标为index列,即0,1,2,...)
dfPlot.plot.bar() 或 bar(y=1)

#再为横坐标设置标签,标签就是第一列的值
d=dfPlot.loc[:,'date'].to_list()
ticks=list(range(len(d)))
labels=d

plt.xticks(ticks,labels,rotation=90)
复制代码

相当于把绘制柱状图给X轴设置刻度值分开来做。

关于xticks函数的用法,可以看Python:matplotlib.pyplot,其中有一部分是介绍这个函数的。

 

posted @   ShineLe  阅读(509)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示