使用Python绘制变形的2D网格

shu*_*alo 4 python matplotlib

我想绘制一个变形的矩形网格,这意味着节点的坐标取决于节点的索引.目的是通过函数可视化单位平方的变形.

我怎么能在python中做到这一点?

Joe*_*ton 6

这是pcolormesh(或pcolor)的意思.(另请看triplot三角形网格等.)

import matplotlib.pyplot as plt

y, x = np.mgrid[:10, :10]
z = np.random.random(x.shape)

xdef, ydef = x**2, y**2 + x

fig, axes = plt.subplots(ncols=2)
axes[0].pcolormesh(x, y, z, cmap='gist_earth')
axes[1].pcolormesh(xdef, ydef, z, cmap='gist_earth')

axes[0].set(title='Original', xticks=[], yticks=[])
axes[1].set(title='Deformed', xticks=[], yticks=[])

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

另外,pcolormesh出于性能原因,默认不使用抗锯齿.如果您添加antiailiased=Truepcolormesh通话中,您将获得更好看的结果:

在此输入图像描述