我有一个数据框:
hourly = pd.DataFrame((np.random.randn(24,2)), columns=['mean','std'])
hourly.index.name = 'Hour'
我想绘制每小时平均值以及任一侧的标准偏差,并在标准偏差带之间绘制阴影区域。我有以下代码来执行此操作:
plt.figure()
plt.plot(hourly["mean"].index, hourly["mean"] , 'k')
upp_bd = hourly["mean"].add(2*hourly['std'])
low_bd = hourly['mean'].subtract(2*hourly['std'])
plt.fill_between(hourly.index, upp_bd,low_bd,color='b', alpha=0.2)
不幸的是我一直收到以下错误:
ValueError: Argument dimensions are incompatible
hourly["mean"]
变量具有以下数据结构:
SomeNum
Hour
0 50.003195
1 50.003687
2 50.005464
3 50.002127
4 49.998756
5 50.000194
6 49.994266
7 49.989631
8 49.997383
9 49.998948
10 50.005860
11 49.999882
12 50.000132
13 49.997024
14 49.995282
15 49.994489
16 49.995658
17 50.006386
18 50.004037
19 49.999172
20 49.999787
21 50.000317
22 50.000174
23 50.002752
upp_bd
和low_bd
变量具有以下结构:
SomeNum
Hour
0 50.112504
1 50.108413
2 50.107596
3 50.104473
4 50.099938
5 50.108084
6 50.106991
7 50.102655
8 50.107372
9 50.106870
10 50.111932
11 50.105725
12 50.104598
13 50.101926
14 50.100037
15 50.103230
16 50.107482
17 50.115969
18 50.114712
19 50.112294
20 50.116430
21 50.116907
22 50.109491
23 50.110875
并且hourly.index
变量具有以下结构:
Int64Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23],
dtype='int64', name=u'Hour')
注意,第一个图plt.plot(hourly["mean"].index, hourly["mean"] , 'k')
工作正常。