簡體   English   中英

matplotlib:在條形圖上繪制多列熊貓數據框

[英]matplotlib: plot multiple columns of pandas data frame on the bar chart

我正在使用以下代碼繪制條形圖:

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”。 如下圖示例所示:

在此處輸入圖片說明

我希望col_A在 x 軸上方以藍色顯示, col_B在 x 軸col_B以紅色顯示, col_B在 x 軸上col_C以綠色顯示。 這在 matplotlib 中可能嗎? 如何更改以繪制所有三列? 謝謝!

您可以通過向ploty參數提供列名列表來一次繪制多個列。

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

在此處輸入圖片說明

這將生成一個圖表,其中條形圖彼此相鄰。

為了讓它們重疊,您需要多次調用plot ,並提供要繪制的軸作為繪圖的參數ax

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()

在此處輸入圖片說明

雖然接受的答案工作正常,但自v0.21.0rc1以來它發出警告

用戶警告:Pandas 不允許通過新的屬性名稱創建列

相反,你可以做

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM