Вы можете в основном использовать тот же принцип, который показан в ответе, на который вы ссылаетесь, с некоторыми небольшими изменениями, когда вы используете pandas
вместо чистого matplotlib
.Идея та же: построить график дважды, а во второй раз использовать чуть более толстые панели ошибок и установить zorder ниже, что мы можем сделать, используя словарь kwargs - error_kw
.Кроме того, обязательно передайте аргумент ax=
, чтобы графики отображались на одном рисунке, и установите legend=False
на втором графике, чтобы избежать повторения записей легенды.
fig, ax = plt.subplots()
df2.plot(kind='bar',
yerr=pd.pivot_table(df,
index='COLUMN3',
columns='Category',values='COLUMN1')
.reindex(df2.index)
.reindex(df2.columns, axis=1), ax=ax,
error_kw=dict(ecolor='white', capthick=2,elinewidth=2,capsize=3,zorder=10))
df2.plot(kind='bar',
yerr=pd.pivot_table(df,
index='COLUMN3',
columns='Category',values='COLUMN1')
.reindex(df2.index)
.reindex(df2.columns, axis=1), ax=ax, legend=False,
error_kw=dict(ecolor='black',capthick=4,elinewidth=4,capsize=4,zorder=5))
![enter image description here](https://i.stack.imgur.com/X8T8T.png)