📅  最后修改于: 2023-12-03 15:34:23.426000             🧑  作者: Mango
如果你正在开发用于数据可视化的 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()
以下是对上述代码的解释:
np.meshgrid()
函数将 x 和 y 数组转换为二维网格。np.sin()
函数计算函数 $\sin\left(\sqrt{x^2+y^2}\right)$ 的值,即原点的高度值。plt.contourf()
函数绘制等高线图。其中 X,Y 和 Z 分别代表 x 坐标轴、y 坐标轴和高度值。cmap
参数使等高线图中的颜色更加鲜艳。plt.colorbar()
函数绘制图例。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
数组为 [0, 1, 2, 3, 4],那么将只会绘制等高线图中高度值在 0、1、2、3 和 4 的区域。
下面是一个例子:
plt.contourf(X, Y, Z, levels=10, cmap='coolwarm')
cmap
参数用于指定绘制等高线图中使用的颜色映射。下面是一个颜色映射示例:
plt.contourf(X, Y, Z, cmap='summer')
vmax
和 vmin
参数用于指定绘制等高线图中的最大和最小高度值。
plt.contourf(X, Y, Z, cmap='coolwarm', vmin=-1, vmax=1)
alpha
参数用于指定绘制等高线图中使用的透明度。它的取值范围为 0.0(完全透明)到 1.0(完全不透明)。
plt.contourf(X, Y, Z, alpha=0.5, cmap='coolwarm')
正如本文所述,contourf()
函数是 Matplotlib 库的主要功能之一,用于绘制等高线图。它是构建研究性数据分析、数据建模、科学和工程应用的基本工具之一。希望本文对您有所帮助!