我試圖復制
有人可以告訴我我哪里出錯了嗎?
uj5u.com熱心網友回復:
- 你可以
DataFrame用seaborn
>>> import seaborn as sns
>>> sns.barplot(data=result, x='Area', y='Number', hue='Cat')
- 如果您有 long
DataFrame,就像在 OP 中一樣,請使用pivot_table創建 WideDataFrame,然后使用
uj5u.com熱心網友回復:
很難給出一個很好的答案,因為我知道這只是演示資料,因此處理您的真實資料會有所不同。我認為您創建資料框的方式給您帶來了問題,因為您是直接用 Pandas 繪圖的。
目前,您的資料框如下所示:

...但是你需要你的 X 軸作為索引,以及一個單獨的列,用于
Cat1和Cat2它們各自的值。更接近的東西:
您完成此操作的方式將取決于您的實際資料集,但使用提供的示例(為了更好的可視化,我稍微更改了您的輸入值),這是我的方法:
import pandas as pd cat1 = {'item1':4, 'item2':6, 'item3':7,'item4':8,'item5':10} cat2 = {'item1':5, 'item2':4, 'item3':12,'item4':6,'item5':3} df1 = pd.DataFrame.from_dict(cat1, orient='index', columns=['Cat1']) df2 = pd.DataFrame.from_dict(cat2, orient='index', columns=['Cat2']) df = pd.concat([df1, df2], axis=1) ax = df.plot.bar(rot=0)輸出:

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/331260.html標籤:Python 熊猫 matplotlib 海生 条形图
