📜  Python中的 Matplotlib.axes.Axes.contour()(1)

📅  最后修改于: 2023-12-03 14:46:33.573000             🧑  作者: Mango

Python中的 Matplotlib.axes.Axes.contour()

在数据可视化中,等高线图(contour plot)是一种有效的方式来展示二维函数 $f(x,y)$。在 Python 的 Matplotlib 库中,contour() 函数可以用于画等高线图。

函数定义

contour() 函数的定义为:

Axes.contour(self, X, Y, Z, levels=None, **kwargs)

其中:

  • XY 是分别对应于坐标轴 $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' 指定了等高线的颜色映射。

运行上述代码将得到以下图形:

简单等高线图示例

参考资料