如何使用matplotlib在python中显示置信区间?

如何使用matplotlib在python中显示置信区间?,python,matplotlib,graph,Python,Matplotlib,Graph,我需要显示一个置信区间,如下图所示: 但我不知道怎么做。我尝试过执行lb.fill_-between(x,(y1-ci),(y1+ci),color='b',alpha=0.1)但它返回错误:AttributeError:'list'对象没有属性'fill_-between' 这是我的代码: import matplotlib.pyplot as plt x = [10, 100, 1000] y1 = [215103, 22824279.7, 22063128311] y2 = [2112

我需要显示一个置信区间,如下图所示:


但我不知道怎么做。我尝试过执行
lb.fill_-between(x,(y1-ci),(y1+ci),color='b',alpha=0.1)
但它返回错误:
AttributeError:'list'对象没有属性'fill_-between'

这是我的代码:

import matplotlib.pyplot as plt


x = [10, 100, 1000]
y1 = [215103, 22824279.7, 22063128311]
y2 = [211298.5, 21315505.2, 20563930722]

plt.subplot(2, 2, 1)

ci = 1300
#la = plt.plot(x,y,'b*', label = 'normal')
lb = plt.plot(x,y1, '#FA8072', label = 'LI')
lc = plt.plot(x,y2, '#7FFFD4', label = 'LU')
plt.legend(loc = 'upper left')
plt.title("L1-dcache-loads")
plt.xscale("log")

提前谢谢

像这样使用
填充

plt.figure()
plt.fill_between(x, y1, y2, edgecolor='g', facecolor='g', alpha=0.3)
y1
是下限曲线,
y2
是上限曲线。输出:

在您的示例中:

plt.figure()
plt.plot(x,y1, '#FA8072', label = 'LI')
plt.fill_between(x, np.array(y1)-ci, np.array(y1)+ci, edgecolor='r', facecolor='r', alpha=0.3)
plt.plot(x,y2, '#7FFFD4', label = 'LU')
plt.fill_between(x, np.array(y2)-ci, np.array(y2)+ci, edgecolor='g', facecolor='g', alpha=0.3)
plt.legend(loc = 'upper left')
plt.title("L1-dcache-loads")
plt.xscale("log")
但是间隔太小,看不见


lb
是一个列表。您需要在
之间填充。请注意,
y1 ci
还将为您提供error@DavidG当我在之间执行
plt.fill\u操作时,我会遇到以下错误:
不支持的操作数类型-:“list”和“int”
,就像你说的那样。我怎样才能解决这个问题?