等高线图python中的长错误
发布时间:2020-12-20 12:23:12 所属栏目:Python 来源:网络整理
导读:我正在尝试创建一个轮廓图,其中x坐标为标签EF,y标记为EB,z为标记为a的函数.它返回下面发布的长错误.任何帮助,将不胜感激. 错误是 File "contour.py",line 19,in modulec = plt.contour(EF,EB,a) File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py",l
我正在尝试创建一个轮廓图,其中x坐标为标签EF,y标记为EB,z为标记为a的函数.它返回下面发布的长错误.任何帮助,将不胜感激.
错误是 File "contour.py",line 19,in <module> c = plt.contour(EF,EB,a) File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py",line 2016,in contour ret = ax.contour(*args,**kwargs) File "/usr/lib/pymodules/python2.7/matplotlib/axes.py",line 7326,in contour return mcontour.QuadContourSet(self,*args,**kwargs) File "/usr/lib/pymodules/python2.7/matplotlib/contour.py",line 1088,in __init__ ContourSet.__init__(self,ax,line 686,in __init__ self._process_args(*args,line 1101,in _process_args x,y,z = self._contour_args(args,kwargs) File "/usr/lib/pymodules/python2.7/matplotlib/contour.py",line 1148,in _contour_args x,z = self._check_xyz(args[:3],line 1180,in _check_xyz raise TypeError("Input z must be a 2D array.") TypeError: Input z must be a 2D array. 解决方法
错误说明了这一点
TypeError: Input z must be a 2D array. 如果你看一下输入对象的大小: print EF.shape,EB.shape,a.shape (51,) (51,) 你会发现这些不是2D数组.你打算用X和Y代替吗? 当我做出改变时 a = ((1+.5*(np.exp(1.7*X)+np.exp(1.7*Y)+np.exp(1.7*(X+Y))))/(1+np.exp(1.7*X)+np.exp(1.7*Y)+np.exp(1.7*(X+Y)))) c = plt.contour(EF,a,30) 输出是 看起来您可能需要调整参数空间,因为所有有趣的东西都在(0,0)左右. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |