8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

使用轮廓和轮廓

dwto 1月前

28 0

我有一个点列表:pointList = [ [x1,y1,z1], [x2,y2,z2], ... [xn,yn,zn]] 并且我想绘制这组点的轮廓图。我尝试:import matplotlib.pyplot as pltpointList = [ [x1,...

我有一份要点清单:

pointList = [ [x1,y1,z1], [x2,y2,z2], ... [xn,yn,zn]]

我想绘制这组点的轮廓图。

我尝试:

import matplotlib.pyplot as plt
pointList = [ [x1,y1,z1], [x2,y2,z2], ... [xn,yn,zn]]
x = [el[0] for el in pointList]
y = [el[1] for el in pointList]
z = [el[2] for el in pointList]
plt.contourf(x,y,z)
plt.show()

但我有这个例外:

TypeError: Input z must be a 2D array.

这很奇怪,因为在 matplotlib 的文档中我发现:

Call signatures:
contour(Z)
make a contour plot of an array Z. The level values are chosen automatically.
contour(X,Y,Z)
X, Y specify the (x, y) coordinates of the surface

所以我不明白它为什么会失败......

帖子版权声明 1、本帖标题:使用轮廓和轮廓
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由dwto在本站《matplotlib》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 无论哪种情况, contour(Z) , 或 contour(X,Y,Z) ,输入都 Z 必须是二维数组。

    如果您的数据不在网格中,您要么需要将其插入到网格中,要么就不能使用轮廓。

    一个简单的替代方法是使用 tricontour .

    import matplotlib.pyplot as plt
    import numpy as np
    pointList = [ [x1,y1,z1], [x2,y2,z2], ... [xn,yn,zn]]
    pointList = np.array(pointList)
    plt.tricontour(pointList[:,0],pointList[:,1],pointList[:,2])
    plt.show()
    

    有一个很好的例子可以 tricontour contour 插值数据进行比较: tricontour_vs_griddata .

    您还可以查看:

返回
作者最近主题: