Matplotlib - 等值线图


等值线图(有时称为水平图)是在二维平面上显示三维表面的一种方法。它将两个预测变量 XY 绘制在 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()
填充颜​​色图