gpt4 book ai didi

python - Pandas 条形图中带有黑色边框的白色误差条

转载 作者:行者123 更新时间:2023-12-01 09:30:27 33 4
gpt4 key购买 nike

我想知道是否可以实现使误差条变为白色并带有黑色边框(在 Pandas 条形图中)?

我正在尝试实现本文中接受的答案中提到的内容( Border on errorbars in matplotlib/python ),但是我想知道是否可以在 Pandas 图中实现这一点?

相关的 Pandas 图:

from io import StringIO
import pandas as pd
import matplotlib.pyplot as plt

txt = u'''Category COLUMN1 COLUMN2 COLUMN3
A 0.5 3 Cat1
B 0.3 5 Cat1
C 0.7 4 Cat1
A 0.4 3 Cat2
B 0.8 5 Cat2
C 0.3 4 Cat2
'''

df = pd.read_table(StringIO(txt), sep="\s+")

order = ['Cat2', 'Cat1']
suborder = list("BAC")

df2 = pd.pivot_table(df,index='COLUMN3',columns='Category',values='COLUMN2').loc[order]
df2 = df2[suborder]
df2.plot(kind='bar',
yerr=pd.pivot_table(df,
index='COLUMN3',
columns='Category',values='COLUMN1')
.reindex(df2.index)
.reindex(df2.columns, axis=1), capsize=4)

最佳答案

您基本上可以使用与链接到的答案中所示相同的原理,并在使用 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

关于python - Pandas 条形图中带有黑色边框的白色误差条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50010957/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com