之前我使用了很多gridspec,但今天我有一个我从未有过的错误。这是一个代码示例,取自pandas plotting example page:
import pandas as pd
from pandas import *
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
ts = ts.cumsum()
df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD'))
df = df.cumsum()
df3 = pd.DataFrame(np.random.randn(1000, 2), columns=['B', 'C']).cumsum()
df3['A'] = pd.Series(list(range(len(df))))
gs = gridspec.GridSpec(5,1)
fig = plt.figure(figsize=(6, 6), facecolor='white')
ax = fig.add_subplot(gs[:4, :])
ax2 = fig.add_subplot(gs[4, :])
df3.plot(x='A', y='B', ax=ax2)
虽然它正在绘图,但我有一个错误会停止程序:
---> 21 df3.plot(x =' A',y =' B',ax = ax2)
IndexError:索引4超出了轴0的大小为3的范围
注意:错误消息中的index 4
直接链接到gridspec限制。如果我删除了gridspec,那么该图表效果很好。
熊猫版:0.16.1
Matplotlib版本:1.4.3