在数据对比中,等高线图也是常用的一种图形,本文记录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用户交互