我正在使用 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)
当前情节
最佳答案
如果您的类别编码为数字,您可以像这样进行修改:向 DataFrame 添加一个新列,其中包含减少了半条宽度的类别:
df['category_shifted'] = df['category'] - 0.2
然后在错误栏函数调用中传递这些调整后的值:
plt.errorbar('category_shifted', 'val', data=df, yerr=df.yerr, fmt='none',
errorevery=2, color='black', capsize=5)
关于python - 当我的 X 变量是分类变量时,如何偏移 X 轴上的误差线(matplotlib),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60979793/