Matplotlib – 等高线图
等高线图(有时称为水平图)是一种在二维平面上显示三维表面的方法。它将两个预测变量X Y绘制在Y轴上,将响应变量Z绘制成等值线。这些等值线有时被称为Z-片或等值反应值。
如果你想看看数值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()