python-3.x – 绘图时的Matplotlib索引错误
发布时间:2020-12-20 12:02:55 所属栏目:Python 来源:网络整理
导读:我基本上有以下脚本.但是在使用以下errorTypeError运行期间失败:’Figure’对象不支持索引 ?在线axarr [0] .plot(x,y).我试着搜索一下但是在创建子图时发现了类似的错误…而且我只添加/替换数据(我不确定,因为它是matlab文件的副本,而我没有matlab). import
我基本上有以下脚本.但是在使用以下errorTypeError运行期间失败:’Figure’对象不支持索引
?在线axarr [0] .plot(x,y).我试着搜索一下但是在创建子图时发现了类似的错误…而且我只添加/替换数据(我不确定,因为它是matlab文件的副本,而我没有matlab). import numpy as np import matplotlib.pyplot as plt x = np.arange(0,2,0.01) for idx in range(1,10): a = 1 + (idx - 1) / 10 y = a ** x axarr,fig = plt.subplots(1,1) axarr[0].plot(x,y) axarr.axis([0,4,85]) axarr[0].grid(True) plt.show() 可能我得到这个错误,因为我在一个循环中使用一个数字,但它看起来它在迭代1失败都准备好了.那么我错了什么或者什么可以更好以便这个工作(几乎等于matlab文件,请参阅下面的部分脚本)? matlab文件相同的样本是这样的: x = 0:0.01:4; for idx = 1:10 a = 1 + (idx-1)/10; y = a.^x; z = 2 * y subplot(111) plot(x,y) hold on plot(x(1:400),z) axis([0 4 0 85]) pause hold off end 解决方法
这里有两个问题:
> plt.subplots的返回是(图,Axes数组)的元组.因此,分配是 fig,axarr = plt.subplots(1,1) >上面并没有完全解决问题,因为你最终会遇到类似的错误(TypeError:’AxesSubplot’对象不支持索引).这是因为默认情况下plt.subplots将Axes数组减少为单轴,以防只使用一列和一行. fig,1) axarr.plot(x,y) 要么 fig,axarr = plt.subplots(1,1,squeeze=False) axarr[0,0].plot(x,y) 请注意,您不需要1,1作为参数,因为这些是默认值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |