在python中对数据进行网格化后,我正在尝试使用不规则数据生成等值线图。当我试图得到一个像右边那样的等高线图时,我得到了像左边的图像一样的东西,我的图中没有任何空白(未绘制的空间?)
def grid(x, y, z, resX=100, resY=100): yi =meshgrid(xi, yi)
re
我在3维空间(x, y, z)中有几个数据点,并使用scipy.interpolate.Rbf对它们进行插值。这给了我一个很好地表示我的3D对象的表面的样条线。现在我想确定几个x和y对,它们具有相同的任意z值。我想这样做是为了计算3D对象在任何给定z值时的横截面。有人知道怎么做吗?也许还有一种比使用scipy.interpolate.Rbf更好的方法来做到这一点。
我线性地插值和之后的等高线数据。对于计算,我使用浮点类型,因为我不知道输入数据中将包含多少小数。有时可能不是小数,有时是1或10以上。不幸的是,由于在插值和对相同值进行等高线后使用浮点,所以我得到了不需要的工件。我怎样才能修正我的代码不产生轮廓工件,而不应该有任何?简单的代码示例:
import numpy a
所以我有一个csv文件(我和熊猫一起读过),它有3列第一列对应于x轴,第二列y轴和第三列是自由能的值,我们可以把它解释为z轴或者xy平面的高度。我用x,y列创建了一个网格,其形状为(6105,6105)。Z轴只是一个长度为6105的一维数组.我找不到一种方法把我的z轴和xy网格结合起来,这样我就可以用等高线来描述它。有人知道怎么做吗?我的代码:
import matplotlib.pyplot as