目前,我像這樣創建我的條形圖來比較兩個結果
plt.figure(figsize=(12,8))
result_df.sym.plot(kind='barh', edgecolor='none')
result_df.non_sym.plot(kind='barh', edgecolor='none',color='orange')
這導致了這個

我想表明藍色的結果通常優于黃色的結果。但是對于某些類別,它們沒有,因此它們根本不可見。我現在想要的是這樣的:
我很快用 powerpoint 添加了這個,當然我想用 matplotlib/seaborn/pandas 直接生成它。但我不知道怎么做。matplotlib中有hatched引數,但它沒有給出我想要的效果。
uj5u.com熱心網友回復:
使用 matplotlib,您可以通過僅使用影線繪制帶有第一個資料集的第三個條形來獲得此效果:
df = pd.DataFrame({'A': [1, 2, 3, 4],
'B': [4, 3, 2, 1]
})
import matplotlib as mpl
mpl.rcParams['hatch.linewidth'] = 10
mpl.rcParams['hatch.color'] = '#1F77B4'
df['A'].plot(kind='barh', edgecolor='none', color='#1F77B4')
df['B'].plot(kind='barh', edgecolor='none',color='orange')
df['A'].plot(kind='barh', color='none', hatch='/')
輸出:

或者
df['A'].plot(kind='barh', edgecolor='none', color='#1F77B4')
df['B'].plot(kind='barh', edgecolor='none',color='orange')
df['A'].mask(df['B'].lt(df['A'])).plot(kind='barh', color='none', hatch='/')
輸出:

對于較薄的艙口:
import matplotlib as mpl
mpl.rcParams['hatch.linewidth'] = 3
mpl.rcParams['hatch.color'] = '#1F77B4'
df['A'].plot(kind='barh', edgecolor='none', color='#1F77B4')
df['B'].plot(kind='barh', edgecolor='none',color='orange')
df['A'].mask(df['B'].lt(df['A'])).plot(kind='barh', color='none', hatch='//')
輸出:

uj5u.com熱心網友回復:
sebko_iic。只是在黃色下面畫藍色,或者在藍色下面畫黃色怎么樣?只需在此行中設定正確的偏移量:詳細資訊: https ://scipy-cookbook.readthedocs.io/items/Matplotlib_MultilinePlots.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/424635.html
標籤:Python 熊猫 matplotlib 海运
上一篇:從資料透視表繪制條形圖和折線圖
