绘制等高线图使用的是matplotlib.pyplot的contourf()方法。
该函数语法如下:
plt.contourf(X, Y, f(X,Y))
其中 X和Y都是二维数组。(meshgrid()方法作用后的 网格化 形式)
f(X,Y)指的是对X、和Y使用f()函数进行计算的结果,计算的结果作为该坐标点的高度。
一段可以参考的示例代码如下:
import numpy as np import matplotlib.pyplot as plt # 计算x,y坐标对应的高度值 def fun(x, y): return (1-x/2+x**2+y**3) * np.exp(-x**2-y**2) # 设置个背景色 plt.figure(facecolor='#66ff33') n = 256 x = np.linspace(-3, 3, n) y = np.linspace(-3, 3, n) # 把x,y数据转换为二维数据(网格化) X, Y = np.meshgrid(x, y) # 填充等高线 plt.contourf(X, Y, fun(X, Y)) # 显示图表 plt.show()
其中fun(x, y)是计算高度的公式,可以根据我们的需求自由定制。
绘制出的图像效果呈现如下: