假設我有如下所示的 Pandas 資料框:
import pandas as pd
df=pd.DataFrame({'run-1a':[0.3, 0.3, 0.4, 0.4], 'run-1b':[0.3, 0.3, 0.4, 0.5],"run-2a":[0.7, 0.9, 0.8, 0.9],"run-2b":[0.2, 0.3, 0.5, 0.5], "Person":["person1","person2","person3","person4"]})
df
現在我用它做一個酒吧:
import matplotlib.pyplot as plt
color_list = ['b','lightskyblue', 'g','lightgreen']
ax = df.plot(x='Person',y=['run-1a','run-1b','run-2a','run-2b'], kind='bar', color=color_list)
plt.legend(loc='center left', bbox_to_anchor=(1, 0.5))
plt.xticks(rotation="horizontal")
plt.show()
結果如下所示:

但是,我想為每個人將run-1a 與 run1b和run2a 與 run2b 分組。當我用谷歌搜索一些解決方案時,我只找到了如何使分組條看起來像我上面的圖,這是我不需要的。
這是我的情節應該是什么樣子的草圖:

請問有沒有一個選項可以對每個人進行分組?非常感謝。
uj5u.com熱心網友回復:
如果我理解正確,您可以在其他條之間添加空條,這樣您將獲得 4 列,其中每兩個條分開。
import pandas as pd
df=pd.DataFrame({'':[0,0,0,0],'run-1a':[0.3, 0.3, 0.4, 0.4], 'run-1b':[0.3, 0.3, 0.4, 0.5],"run-2a":[0.7, 0.9, 0.8, 0.9],"run-2b":[0.2, 0.3, 0.5, 0.5], "Person":["person1","person2","person3","person4"]})
color_list = ['b','lightskyblue','w', 'g','lightgreen']
ax = df.plot(x='Person',y=['run-1a','run-1b','','run-2a','run-2b'], kind='bar', color=color_list)
plt.legend(loc='center left', bbox_to_anchor=(1, 0.5))
plt.xticks(rotation="horizontal")
plt.show()

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/349896.html
標籤:蟒蛇-3.x 熊猫 数据框 matplotlib 条形图
