python: matplotlib绘制流场图(流线,等值线,云图)看这一篇就够了

python: matplotlib绘制流场图(流线,等值线,云图)看这一篇就够了

直接进入正题:使用matplotlib如何绘制流场图。

一般来说我们可以画云图,云图是个三维曲面,如果要画成平面图,需要用颜色作为第三个维度。

第一步需要准备一个二维的平面网格,它的大小与三维曲面的取值范围相等。

# C[:,:]是云图数据
x = np.linspace(0,2,len(C[2,:]))
y = np.linspace(0,2,len(C[:,2]))
X,Y = np.meshgrid(x,y)

首先,在matplotlib中有两个方法可以绘制云图:

pcolormesh:

plt.pcolormesh(X, Y, C[:,:], cmap='RdBu_r', zorder=1)

cmap 是colorbar,zorder是图层顺序,他越小,说明这个图就在整个图片的越底层。

但是这样画出来的图,因为是点阵图,所以放大以后网格点很明显。不建议使用!

contour

plt.contour(X, Y, C[:,:],100, cmap='RdBu_r', zorder=1)