错误栏上的顶部和底部行与python和seaborn

Ant*_*ier 9 python matplotlib seaborn

我试图用python和seaborn绘制错误栏,但我对它们的外观并不完全满意.

默认的seaborn错误栏如下所示:

errobar默认风格

但我想在这样的误差条上添加底线和顶线(为了区分两个误差线,它是默认的matplotlib样式):

defaultmatplolib

我怎么能在seaborn中这样做?

这是代码:

import matplotlib.pyplot as plt
import seaborn as sns

fig1 = plt.figure(figsize=(20, 12))


x_values = [1,2,3,4]
y_values = [1,2,3,4]

y_error = [1,0.5,0.75,0.25]

plt.errorbar(x_values, y_values,  yerr=y_error ,fmt='o', markersize=8)

plt.show()
Run Code Online (Sandbox Code Playgroud)

Ton*_*ino 15

capsize参数应该是足够的,但由于某些原因,您必须指定cap.set_markeredgewidth为他们..基于太显示:Matplotlib Errorbar帽丢失.

(_, caps, _) = plt.errorbar(
    x_values, y_values, yerr=y_error, fmt='o', markersize=8, capsize=20)

for cap in caps:
    cap.set_markeredgewidth(1)
Run Code Online (Sandbox Code Playgroud)

收益:

在此输入图像描述


Ray*_*ker 5

错误栏上的顶线和底线称为caps

为了可视化它们,只需设置capsize一个大于 0 的值,这是默认值:

plt.errorbar(x, y, yerr=stds, capsize=3)
Run Code Online (Sandbox Code Playgroud)