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)