Matplotlib 轮廓图

轮廓图(有时称为“水平图”)是一种在二维平面上显示三维表面的方法。 它绘制了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.cainiaojc.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()

执行上面示例代码,得到以下结果 -

执行代码结果