Python matplotlib中的二维曲面打印,带有非规则数据网格
我试图在2D曲面图上绘制一些数据。数据表示T形样品的特性变化。然而,我使用的方法(文档中的标准方法)在整个正方形网格上插值,超出了T分量的尺寸 我想把插值限制在T分量内 我假设这是通过定义一个T形网格(或任何你想插值的形状)来实现的,对吗?如果是这样的话,我该如何创建一个T形网格来插值呢?我正在考虑将2个Python matplotlib中的二维曲面打印,带有非规则数据网格,python,numpy,matplotlib,scipy,Python,Numpy,Matplotlib,Scipy,我试图在2D曲面图上绘制一些数据。数据表示T形样品的特性变化。然而,我使用的方法(文档中的标准方法)在整个正方形网格上插值,超出了T分量的尺寸 我想把插值限制在T分量内 我假设这是通过定义一个T形网格(或任何你想插值的形状)来实现的,对吗?如果是这样的话,我该如何创建一个T形网格来插值呢?我正在考虑将2个linspace数组附加在一起以创建T形,但到目前为止失败很多=/ 非常感谢 编辑1) 标准网格: xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx 我要插值的区
linspace
数组附加在一起以创建T形,但到目前为止失败很多=/
非常感谢
编辑1)
标准网格:
xxxxxxxxx
xxxxxxxxx
xxxxxxxxx
xxxxxxxxx
我要插值的区域的形状:
xxxxxxxxx
xxxxxxxxx
000xxx000
000xxx000
用
x
=要插值的数据点和0
s表示不应包含任何插值的空隙。您可以用np.nan
填充要显示的数组:
>>> import matplotlib.pyplot as plt
>>> a = np.random.rand(100, 100)
>>> plt.imshow(a)
<matplotlib.image.AxesImage object at 0x03EEB030>
>>> plt.show()
>>将matplotlib.pyplot作为plt导入
>>>a=np.rand.rand(100100)
>>>plt.imshow(a)
>>>plt.show()
现在:
>>> a[50:, :25] = np.nan
>>> a[50:, 75:] = np.nan
>>> plt.imshow(a)
<matplotlib.image.AxesImage object at 0x040C81B0>
>>> plt.show()
>a[50:,:25]=np.nan
>>>a[50:,75:][=np.nan
>>>plt.imshow(a)
>>>plt.show()
你试过什么?您正在尝试进行曲面打印(在3D中,如从
Axes3D.plot\u surface
),还是使用彩色贴图(如在imshow
)进行2D图像?我一直在使用imshow
彩色贴图,数据点的布局如上面的编辑所示: