Matplotlib - 等高线图

等高线图(有时称为水平图)是一种在二维平面上显示三维表面的方法。 它在 y 坐标轴上绘制两个预测变量 X Y 和一个响应变量 Z 作为等高线。 这些等高线有时称为 z 切片或 iso-响应值。

如果您想了解 Z 值如何作为两个输入 X 和 Y 的函数变化,例如 Z = f(X,Y),则等高线图是合适的。 两个变量的函数的等高线或等值线是函数具有恒定值的曲线。

独立变量 x 和 y 通常被限制在一个称为 meshgrid 的规则网格中。 numpy.meshgrid 从 x 值数组和 y 值数组创建矩形网格。

Matplotlib API 包含 contour() 和 contourf() 函数,分别绘制等高线和填充等高线。 这两个函数都需要三个参数 x、y 和 z。

import numpy as np
import matplotlib.pyplot as plt
xlist = np.linspace(-3.0, 3.0, 100)
ylist = np.linspace(-3.0, 3.0, 100)
X, Y = np.meshgrid(xlist, ylist)
Z = np.sqrt(X**2 + Y**2)
fig,ax=plt.subplots(1,1)
cp = ax.contourf(X, Y, Z)
fig.colorbar(cp) # Add a colorbar to a plot
ax.set_title('Filled Contours Plot')
#ax.set_xlabel('x (cm)')
ax.set_ylabel('y (cm)')
plt.show()
填充颜色图