【发布时间】:2021-10-31 20:45:29
【问题描述】:
我有一个数据框,数据示例如下所示。
我正在尝试遮蔽时间序列图周围的区域。我尝试了fill_between 函数,但它不起作用。
我试过了:
# load the file
df = pd.read_csv(r"C:\Users\sam\data.csv", usecols=['Hour','Forecast'],header=0)
X1=df.forecast
mu = X1.mean
sigma = X1.std
timestep=df.Hour
# ss=mu1+sigma1
# kk=mu1-sigma1
plt.fill_between(timestep, mu, sigma, alpha=0.2) #this is the shaded error
sample_data.csv
Hour Forecast
1 0.428732899
2 0.501308875
3 0.491805242
4 0.392900424
5 0.442624008
6 0.411723392
7 0.397455466
8 0.400126642
9 0.444411425
10 0.423408925
11 0.759687642
12 2.166908125
13 2.153370175
14 2.053740002
15 2.095005501
16 2.153214908
17 2.210168766
18 2.122148284
19 1.9024695
20 2.255718026
21 2.258879807
22 0.480089583
23 1.551103332
24 1.512505375
预期输出:
【问题讨论】:
-
我认为您应该执行 plt.fill_between(timestep, ss, kk) 其中 ss 和 kk 是您定义为 mu+-sigma 的内容。 matplotlib.org/stable/api/_as_gen/…
-
这里的目标是得到一个阴影很好的时间序列图,忽略置信区间等技术术语。
-
您可以通过任意设置 sigma 的值来按照答案中的说明进行操作吗?像西格玛 = 1?还是5?取决于你想要遮蔽的厚度。
标签: python matplotlib plot seaborn data-visualization