Pandas 在 Matplotlib 柱状图上绘制多列图
Suraj Joshi
2023年1月30日
2020年11月24日
在本教程中,我们将介绍如何使用 DataFrame
对象的 plot()
方法在柱状图上绘制多列。
import pandas as pd
data=[["Rudra",23,156,70],
["Nayan",20,136,60],
["Alok",15,100,35],
["Prince",30,150,85]
]
df=pd.DataFrame(data,columns=["Name","Age","Height(cm)","Weight(kg)"])
print(df)
输出:
Name Age Height(cm) Weight(kg)
0 Rudra 23 156 70
1 Nayan 20 136 60
2 Alok 15 100 35
3 Prince 30 150 85
我们将使用 DataFrame df
来构建条形图。我们需要在一个条形图上绘制 DataFrame 中每个人的年龄、身高和体重。
在单条形图中为每个观测值绘制多列的条形图
import pandas as pd
import matplotlib.pyplot as plt
data=[["Rudra",23,156,70],
["Nayan",20,136,60],
["Alok",15,100,35],
["Prince",30,150,85]
]
df=pd.DataFrame(data,columns=["Name","Age","Height(cm)","Weight(kg)"])
df.plot(x="Name", y=["Age", "Height(cm)", "Weight(kg)"], kind="bar",figsize=(9,8))
plt.show()
输出:
它使用 df
对象的 plot()
方法为数据框 df
中的每个人生成 Age
、Height
和 Weight
的条形图。我们在方法中传递一个要在柱状图中绘制的所有列的列表作为 y
参数,kind="bar"
将为 df
生成一个柱状图。x
参数将沿 X 轴变化。
叠加单条形图中每个观测值的多列条形图
import pandas as pd
import matplotlib.pyplot as plt
employees=["Rudra","Alok","Prince","Nayan","Reman"]
earnings={
"January":[10,20,15,18,14],
"February":[20,13,10,18,15],
"March":[20,20,10,15,18],
}
df=pd.DataFrame(earnings,index=employees)
df.plot(kind="bar",stacked=True,figsize=(10,8))
plt.legend(loc="lower left",bbox_to_anchor=(0.8,1.0))
plt.show()
输出:
它通过将 DataFrame 中每个索引的一列值叠加在另一列上来显示条形图。
Author: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn