Matplotlib 等高线图


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

如果你想查看 alue 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()

Filled Colours Plot