微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – matplotlib:在条形图上绘制多列pandas数据框

我使用以下代码绘制条形图:

import matplotlib.pyplot as pls 
my_df.plot(x='my_timestampe', y='col_A', kind='bar') 
plt.show()

情节很好.但是,我希望通过在列表中包含3列:’col_A’,’col_B’和’col_C’来改进图形.如下图所示:

enter image description here

我希望col_A在x轴上方以蓝色显示,col_B在x轴下方显示为红色,col_C在x轴上方以绿色显示.这是matplotlib中的可能吗?如何更改以绘制所有三列?谢谢!

解决方法:

您可以通过向绘图的y参数提供列名列表来一次绘制多个列.

df.plot(x="X", y=["A", "B", "C"], kind="bar")

enter image description here

这将生成一个图形,其中条形图彼此相邻.

为了使它们重叠,您需要多次调用绘图,并提供绘制的轴作为绘图的参数.

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

y = np.random.rand(10,4)
y[:,0]= np.arange(10)
df = pd.DataFrame(y, columns=["X", "A", "B", "C"])

ax = df.plot(x="X", y="A", kind="bar")
df.plot(x="X", y="B", kind="bar", ax=ax, color="C2")
df.plot(x="X", y="C", kind="bar", ax=ax, color="C3")

plt.show()

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐