Pandas 在 Matplotlib 柱狀圖上繪製多列圖
Suraj Joshi
2023年1月30日
在本教程中,我們將介紹如何使用 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 中每個索引的一列值疊加在另一列上來顯示條形圖。
作者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn