如何修改Seaborn lineplot函数置信区间的填充图案(hatch)
Seaborn折线图置信区间阴影线填充设置方法
你可以通过fill_kws参数直接指定置信区间的填充图案,或者手动修改填充对象属性实现\样式的阴影线效果,具体操作如下:
方法1:直接通过lineplot参数设置
Seaborn的lineplot支持通过fill_kws参数向底层的填充方法传递自定义配置,直接指定hatch参数为\\\\(Python字符串中反斜杠需要转义,四个反斜杠最终会被识别为单个\的阴影线样式)即可:
sns.lineplot( data=data, x='year', y='Value', color='#128094', linewidth=1, estimator=lambda x: x.sum() / 12, ci=95, # 显式开启置信区间,默认值为95,可根据需求调整置信度 fill_kws={"hatch": "\\\\", "alpha": 0.3} # alpha调整填充区域透明度,可自行修改 )
方法2:手动修改填充对象属性(适配低版本Seaborn)
如果部分旧版本Seaborn不支持fill_kws参数,你可以在绘图后获取坐标轴下的填充集合对象,单独设置阴影线属性:
import matplotlib.pyplot as plt ax = sns.lineplot( data=data, x='year', y='Value', color='#128094', linewidth=1, estimator=lambda x: x.sum() / 12, ci=95 ) # 遍历所有填充对象设置阴影线 for patch in ax.collections: patch.set_hatch('\\\\') patch.set_alpha(0.3) plt.show()
补充说明
hatch参数还支持其他填充样式,例如/、x、+、o等,你可以根据需求调整。
内容的提问来源于stack exchange,提问作者Frank Jimenez
相关产品推荐
相关产品推荐

