以下是一个示例代码,演示如何给误差棒标记添加阴影,而不给误差棒线添加阴影。
import matplotlib.pyplot as plt
import numpy as np
# 生成示例数据
x = np.arange(1, 6)
y = np.array([1, 3, 2, 4, 5])
error = np.array([0.5, 0.3, 0.2, 0.4, 0.6])
# 绘制误差棒图
plt.errorbar(x, y, yerr=error, fmt='o', capsize=5, capthick=1, ecolor='black')
# 循环遍历每个误差棒标记,给其添加阴影
for i in range(len(x)):
plt.fill_between([x[i]-0.15, x[i]+0.15], y[i]-error[i], y[i]+error[i], color='gray', alpha=0.3)
# 显示图形
plt.show()
在这个示例中,我们使用errorbar
函数绘制误差棒图,并通过设置fmt
参数为'o'
来指定误差棒标记的样式。然后,我们使用一个循环遍历每个误差棒标记,使用fill_between
函数给其添加阴影。fill_between
函数接受四个参数:x的范围(在这里我们使用x[i]-0.15
和x[i]+0.15
来确定一个小范围),y的范围(y[i]-error[i]
和y[i]+error[i]
),颜色(这里我们使用灰色),以及透明度(alpha
参数,这里设置为0.3)。