轮廓图(有时称为“水平图”)是一种在二维平面上显示三维表面的方法。 它绘制了y轴上的两个预测变量X Y和轮廓的响应变量Z。 这些轮廓有时称为z切片或等响应值。
如果要查看Z如何随两个输入X和Y的变化而变化,则轮廓图是非常适用的,例如Z = f(X,Y)。 两个变量函数的等值线或等值线是函数具有常数值的曲线。
自变量x和y通常限于称为meshgrid的规则网格。 numpy.meshgrid使用x值数组和y值数组创建一个矩形网格。
Matplotlib API包含分别绘制轮廓线和填充轮廓的contour()和contourf()函数。 两个函数都需要三个参数x,y和z。
# Filename : example.py # Copyright : 2020 By Nhooo # Author by : www.nhooo.com # Date : 2020-08-08 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('Matplotlib轮廓图') #ax.set_xlabel('x (cm)') ax.set_ylabel('y (cm)') plt.show()
执行上面示例代码,得到以下结果 -