seaborn boxplot设置meanline时传入linestyle参数报错如何处理?
问题原因
linestyle不是seaborn.boxplot()的合法顶层参数,直接传入会触发类型错误。均值线的所有样式都需要通过专门的meanprops参数传递,该参数接收一个样式字典,会透传给底层matplotlib的均值绘制接口。
解决代码
修改你的代码如下即可实现黑色实线均值线:
sns.boxplot( x="rating", data=df, whis=5, color='None', showmeans=True, meanline=True, # 专门配置均值线样式 meanprops={ "linestyle": "-", "color": "black", "linewidth": 2 }, linewidth=5 )
如果需要调整均值线的显示效果,可以在meanprops字典里添加其他matplotlib支持的线样式参数,比如透明度alpha等。
补充说明
如果觉得color='None'的箱体样式不符合预期,可以通过boxprops参数单独配置箱体样式,和均值线配置互不影响,示例如下:
sns.boxplot( x="rating", data=df, whis=5, showmeans=True, meanline=True, meanprops={"linestyle": "-", "color": "black", "linewidth": 2}, # 自定义箱体样式:填充色透明,边框色为灰色 boxprops={"facecolor": "none", "edgecolor": "gray"}, linewidth=5 )
内容的提问来源于stack exchange,提问作者ARHAM RUMI
相关产品推荐
相关产品推荐

