我有一组二维数据和一个由四边形构成的二维网格,描述了一个被分割为补丁的区域。该数据在每个网格节点处定义。数据在补丁边界上存在不连续性,即相同位置处的数据被多次定义。
如何使用Python进行绘图,在节点之间进行线性插值,并以正确的方式呈现每个补丁面上的不连续值?
以下是三个示例元素或补丁,每个元素都有六个节点值。
节点位置和值数据可以存储在
我考虑了
我考虑了
节点位置和值数据可以存储在
[Kx3x2]
的数组中,其中 K 是元素数量。例如:x = np.array( [
[ [0.0, 1.0], [0.0, 1.0], [0.0, 1.0] ], #element 0
[ [1.0, 2.0], [1.0, 2.0], [1.0, 2.0] ], #element 1
[ [2.0, 3.0], [2.0, 3.0], [2.0, 3.0] ], #element 2
] )
y = np.array( [
[ [0.0, 0.0], [0.5, 0.5], [1.0, 1.0] ], #element 0
[ [0.0, 1.0], [0.5, 1.5], [1.0, 2.0] ], #element 1
[ [1.0, 1.0], [1.5, 1.5], [2.0, 2.0] ], #element 2
] )
z = np.array( [
[ [0.0, 0.5], [0.0, 0.8], [0.0, 1.0] ], #element 0
[ [0.3, 1.0], [0.6, 1.2], [0.8, 1.3] ], #element 1
[ [1.2, 1.5], [1.3, 1.4], [1.5, 1.7] ], #element 2
] )
我考虑了
pyplot.imshow()
。但它无法同时考虑整个域并仍能表示多值不连续节点。对于每个补丁,单独调用imshow()
可能有效。但是,我该如何在同一坐标轴上绘制每个补丁图像? 对于非矩形补丁,这也是imshow()
存在问题的情况,而这是我所面临的普通情况。我考虑了
pyplot.pcolormesh()
,但它似乎仅适用于以单元为中心的数据。
imshow
一样显示你的数据,将 alpha 通道设置为 0,以表示你的数据未定义的地方? - ali_m