为了账号安全,请及时绑定邮箱和手机立即绑定

Seaborn 条形图,误差线仅在一个方向上

Seaborn 条形图,误差线仅在一个方向上

皈依舞 2022-06-14 09:46:24
我正在使用 seaborn barplot 函数来绘制来自不同组的数据。是否可以仅在一个方向(仅向上但不能向下)绘制误差线?这就是我所拥有的:np.random.seed(2)df = pd.DataFrame({'value': np.random.randint(0,100,20), 'group1': ['A','B']*10, 'group2': ['Y','Z']*5 + ['Z','Y']*5 })fig, ax = plt.subplots(1,1,figsize=[5,6])sns.barplot('group1','value','group2',data=df, ax=ax,capsize=.15, lw=1, edgecolor=".2", ci=68) # SEM errorbarsplt.show()这就是我想要的:
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

我在 seaborn 中看不到默认选项,但我们可以用zorder


fig, ax = plt.subplots(1,1,figsize=[5,6])


# plot the error bars

# notice the zorder

sns.barplot('group1','value','group2',

            data=df, 

            ax=ax,capsize=.15, zorder=5,

            ci=68) # SEM errorbars


# plot the mean bars

# notice the zorder

sns.barplot('group1','value','group2',

            data=df, 

            ax=ax, lw=1, edgecolor=".2",

            zorder=10,

            ci=None) # no CI errorbars


# handle the duplicate legend

handles, labels = ax.get_legend_handles_labels()

ax.legend(handles[-2:], labels[-2:], title='group2')


plt.show()

输出:

//img1.sycdn.imooc.com//62a7e8c60001287903290367.jpg

查看完整回答
反对 回复 2022-06-14
  • 1 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号