📅  最后修改于: 2023-12-03 14:46:33.573000             🧑  作者: Mango
在数据可视化中,等高线图(contour plot)是一种有效的方式来展示二维函数 $f(x,y)$。在 Python 的 Matplotlib 库中,contour()
函数可以用于画等高线图。
contour()
函数的定义为:
Axes.contour(self, X, Y, Z, levels=None, **kwargs)
其中:
X
和 Y
是分别对应于坐标轴 $x$ 和 $y$ 的数组,表示可视化区域;Z
是 $f(x,y)$ 的值,即要绘制的函数;levels
是要画的等高线的数量或取值。这些参数都是必须的,其余的关键字参数可以自行调整来制定等高线的外观和标签。
下面我们看一个简单的示例,它绘制了函数 $f(x,y)=x^2+y^2$ 的等高线图:
import numpy as np
import matplotlib.pyplot as plt
# create grid of x, y coordinates
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
# evaluate function
Z = X**2 + Y**2
# create contour plot
fig, ax = plt.subplots()
cntr = ax.contour(X, Y, Z, levels=10, cmap='RdYlBu')
# add title and labels
ax.set_title('Contour Plot')
ax.set_xlabel('x')
ax.set_ylabel('y')
# add colorbar
fig.colorbar(cntr)
# show plot
plt.show()
我们可以看到代码首先创建了一个 $100 \times 100$ 的网格用于 $x$ 和 $y$ 的坐标轴。然后用这些坐标计算了 $f(x,y)$ 的值,并使用 contour()
函数绘制了函数的等高线图。levels=10
表示要画出10条等高线;cmap='RdYlBu'
指定了等高线的颜色映射。
运行上述代码将得到以下图形: