我正在尝试使用类似于此处所示的子图:

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'

关于我在做什么错的任何提示吗?
谢谢

最佳答案

您有一个明显的问题:您提供的链接中的所有示例如下所示:

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])

关于python - plot.subplot ---> 'Figure'对象没有属性 'plot',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23723546/

10-16 17:13