【问题标题】:How do I offset error bars on the X axis when my X variable is categorical (matplotlib)当我的 X 变量是分类 (matplotlib) 时,如何偏移 X 轴上的误差线
【发布时间】:2020-07-13 17:29:12
【问题描述】:

我正在使用 matplotlib 和 seaborn.barplot 在 python 中构建一个条形图,X 轴数据是分类的,每个类别有两个成对的条形图。我希望只为每个类别的两个配对条中的一个显示一个错误条。 errorevery=2 允许我为每个其他条应用误差条,但误差条位于两个条之间,而不是位于第一个条的中间(见下图)。

这是我当前代码的示例:

sns.barplot(y='val', x='category', data=df, ax=ax, hue='hue')
plt.errorbar('category','val',data=df, yerr=df.yerr, fmt='none', errorevery=2, color='black', capsize=5)

当前剧情

【问题讨论】:

    标签: python seaborn


    【解决方案1】:

    如果您的类别被编码为数字,您可以像这样破解它:向您的 DataFrame 添加一个新列,其中包含减少了一半宽度的类别:

    df['category_shifted'] = df['category'] - 0.2
    

    然后在errorbar函数调用中传递这些调整后的值:

    plt.errorbar('category_shifted', 'val', data=df, yerr=df.yerr, fmt='none', 
                 errorevery=2, color='black', capsize=5)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-21
      • 2022-01-21
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多