我的数据是有规律的间隔,但不是一个网格 - 每一行的点都与下面的点略有偏差。
数据采用3个1D数组x,y,z的形式,每个索引对应一个点。它是平滑变化的数据 - 近似高斯。
点密度非常高。绘制这些数据的最佳方法是什么?
我尝试过网格网格,但它通过在轮廓值附近没有数据点的区域给出了一些不良轮廓。
我根据这篇文章尝试了rbf插值: Python : 2d contour plot from 3 lists : x, y and rho? 但这只是让我胡说八道 - 所有的轮廓都在一个边缘 - 根本不反映数据。
我可以尝试的任何其他想法。也许我应该使用某种最近邻插值?这是大约1/4的数据点的图片:http://imgur.com/a/b00R6
我很惊讶它给我带来了这样的困难 - 看起来它应该相当容易。
答案 0 :(得分:1)
绘制未编辑数据的最简单方法可能是tricontour
或tricontourf
(填充的三角图)。
拥有x,y和z坐标x
,y
和z
的1D数组,您只需调用
plt.tricontourf(x,y,z, n, ...)
获得n
级别的轮廓。
另一种快速方法是使用matplotlib.mlab.griddata
在网格上进行插值,以从不规则点获得规则网格。
在matplotlib页面的示例中比较了两种方法: Tricontour vs. griddata
答案 1 :(得分:-1)
找到答案:需要重新调整我的数据。