最近使用plt.contourf 绘制等值线时,绘制结果是一条斜对角线,寻找了好长时间才发现问题的。
原因分析:plt.contourf(x,y,z)里面参数x 和 y 应该是互为转置矩阵,但是我是从其他计算结果引用了一个2维矩阵,结果造成x 和 y 矩阵是一样的。
以下是错误绘制结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c83537b656cc2ee6a3db745c25f8feba.png)
以下是正确的绘制结果。
建议使用np.meshgrid函数 ,它会生成的两个互为转置的矩阵。
如果不想用这个函数,那么就需要用 .T 方式让两个矩阵转置。
例如: X,Y = np.meshgrid(x,y)
或者 X = a, Y = a.T #a为一个二维矩阵
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/dc06bb82f3ca6d5a40cc8feb1d00be1f.png)