📜  Python中的 Matplotlib.pyplot.contourf()(1)

📅  最后修改于: 2023-12-03 15:34:23.426000             🧑  作者: Mango

Python中的 Matplotlib.pyplot.contourf()

如果你正在开发用于数据可视化的 Python 应用程序,那么 Matplotlib 库是你必备的选择之一。Matplotlib 是一种广泛使用的 Python 库,用于数据可视化,尤其是二维图形的绘制。它能轻松地制作出线图、散点图、多子图、条形图、误差线图、区域图、3D 图、柱形图等多种图形。

本篇介绍的是 Matplotlib 库中的一个关键功能:contourf() 函数。该函数创建等高线图,其中色彩变化代表了不同的高度值区间。

contourf() 函数基本用法

contourf() 函数用于绘制等高线图。下面是一个简单的例子:

import matplotlib.pyplot as plt
import numpy as np

#创建 2D 网格
x = np.linspace(-10, 10, 500)
y = np.linspace(-10, 10, 500)
X, Y = np.meshgrid(x, y)

#计算 Z 值
Z = np.sin(np.sqrt(X**2 + Y**2))

#绘制等高线图
plt.contourf(X, Y, Z, cmap='coolwarm')
plt.colorbar()
plt.show()

以下是对上述代码的解释:

  1. 导入 matplotlib.pyplot 和 numpy 库。
  2. 创建一个从 -10 到 10 的数组,共 500 个元素,用于描述 x 和 y 坐标轴。
  3. 调用 np.meshgrid() 函数将 x 和 y 数组转换为二维网格。
  4. 使用 np.sin() 函数计算函数 $\sin\left(\sqrt{x^2+y^2}\right)$ 的值,即原点的高度值。
  5. 使用 plt.contourf() 函数绘制等高线图。其中 X,Y 和 Z 分别代表 x 坐标轴、y 坐标轴和高度值。
  6. 使用 cmap 参数使等高线图中的颜色更加鲜艳。
  7. 使用 plt.colorbar() 函数绘制图例。
  8. 使用 plt.show() 显示图像。

contourf() 函数参数说明

contourf() 函数的参数如下:

contourf(X, Y, Z, levels=None, cmap=None, alpha=None, origin=None, extend=None, \
    antialiased=False, norm=None, vmin=None, vmax=None, shading='flat', \
    corner_mask=True, *, extendrect=False, **kwargs)

接下来,我们将重点介绍其中一些常用参数。

levels 参数

levels 参数是一个数值数组,用于指定需要绘制的等高线轮廓线的高度值。例如,如果 levels 数组为 [0, 1, 2, 3, 4],那么将只会绘制等高线图中高度值在 0、1、2、3 和 4 的区域。

下面是一个例子:

plt.contourf(X, Y, Z, levels=10, cmap='coolwarm')
cmap 参数

cmap 参数用于指定绘制等高线图中使用的颜色映射。下面是一个颜色映射示例:

plt.contourf(X, Y, Z, cmap='summer')
vmax、vmin 参数

vmaxvmin 参数用于指定绘制等高线图中的最大和最小高度值。

plt.contourf(X, Y, Z, cmap='coolwarm', vmin=-1, vmax=1)
alpha 参数

alpha 参数用于指定绘制等高线图中使用的透明度。它的取值范围为 0.0(完全透明)到 1.0(完全不透明)。

plt.contourf(X, Y, Z, alpha=0.5, cmap='coolwarm')
总结

正如本文所述,contourf() 函数是 Matplotlib 库的主要功能之一,用于绘制等高线图。它是构建研究性数据分析、数据建模、科学和工程应用的基本工具之一。希望本文对您有所帮助!