加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

等高线图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)左右.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读