利用matplotlib中contour命令绘制等高线图

在数据对比中,等高线图也是常用的一种图形,本文记录python的matplotlib绘制等高线图的一些简单操作。

一个简单的代码如下

import matplotlib
import numpy as np
import matplotlib.cm as cm
import matplotlib.pyplot as plt
delta = 0.025
x = np.arange(-3.0, 3.0, delta)
y = np.arange(-2.0, 2.0, delta)
X, Y = np.meshgrid(x, y)
Z1 = np.exp(-X**2 - Y**2)
Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2)
Z = (Z1 - Z2) * 2
fig, ax = plt.subplots()
CS = ax.contour(X, Y, Z) ### 注意:这里X,Y,Z数组都应该是二维的(2D-array)
ax.clabel(CS, inline=1, fontsize=10)
ax.set_title('test with contour')
plt.show()

效果如下图片

1 修改等高线标注的颜色

主要是修改clabel中的colors参数,如将上述代码相应部分改为

ax.clabel(CS, inline=1, fontsize=10,colors="r")

则效果为

图片

2 修改标注的小数位数

主要是修改clabel中的fmt参数,如将上述代码相应部分改为

ax.clabel(CS, inline=1, fontsize=10,colors="r",fmt='%.1f')

'%.1f'表示小数点后一位

图片

3 绘制指定的等高线

修改contour传入的参数,将上述代码相应部分改为

CS = ax.contour(X, Y, Z,[-1.5, -1.,  -0.5 ,  0.5,  1.  , 1.5]) ### 注意:这里X,Y,Z数组都应该是二维的(2D-array)

可以看到不显示等高线0了图片收录于合集 #挨踢python笔记 16个上一篇利用python生成visio绘图的vba代码段下一篇matplotlib用户交互

阅读原文

简介:开源CAE技术爱好者,编程爱好者,计算力学,欢迎志同道合的朋友一起交流。欢迎关注微信公众号:挨踢的土木佬
(0)
打赏 喜欢就点个赞支持下吧 喜欢就点个赞支持下吧
网站客服
网站客服
内容投稿 侵权处理
分享本页
返回顶部