我正在尝试使用类似于此处显示的子图:
http://matplotlib.org/examples/pylab_examples/subplots_demo.html
axarr = plt.subplots(len(column_list), sharex=True)
subp_num = 0
for j in column_list:
axarr[subp_num].plot(df.values[2:,j])
subp_num = subp_num + 1
然后我收到了这个错误:
axarr[subp_num].plot(df.values[2:,j])
AttributeError: 'Figure' object has no attribute 'plot'
任何暗示我做错了什么? 感谢
答案 0 :(得分:8)
您有一个明显的问题:您提供的链接中的所有示例都是
f, axarr = plt.subplots(...)
其中f
是Figure
,您随后将其视为具有plot
属性。如果您正在使用任意数量的子图,您可以这样做:
axarr = plt.subplots(...)
f, axarr = axarr[0], axarr[1:]
此外,您正在使用带有递增索引的while
循环,这是笨拙且容易出错的;只需使用for
循环:
for j, ax in zip(column_list, axarr):
ax.plot(df.values[2:, j])