Python中的Matplotlib.pyplot.show()

2025年1月5日 | 阅读6分钟

Python 的 Matplotlib 库是创建生动且信息丰富的可视化图表,用于数据探索和分析的不可或缺的工具。在这个绘图功能库中,有一个关键命令:matplotlib.pyplot.show(),它是揭示代码中隐藏的可视化结果的重要入口。理解这个命令的重要性,对于揭示和理解数据集所包含的复杂故事至关重要。

本文将简要介绍 matplotlib.pyplot.show() 函数及其用途和实现。

Matplotlib 库简介

Matplotlib 是一个用于创建二维图形的绘图库。它可以交互式地生成散点图、折线图、条形图等各种图表。它使得创建二维图形变得容易。该库的核心组件是 NumPy 数组。它也适用于 Web 应用程序、Python 脚本和服务器外壳。

Pyplot 模块

Pyplot 模块是 Matplotlib 库的一个重要组成部分,广泛用于创建出色的数据可视化。它提供了大量的工具和功能,使用户能够用各种绘图元素来修饰他们的图形,例如线、曲线、标记、标签、图例等。Pyplot 的用户可以通过更改元素的颜色、字体、样式和其他属性来轻松自定义其图形的外观。Pyplot 是一个用于数据分析和可视化的有用工具,因为它可以用于创建各种图表,包括折线图、散点图、条形图、直方图等。

matplotlib.pyplot.show() 的语法

Matplotlib.pyplot.show(*, block = None)

但是,它不接受任何参数,因为它只打开由 matplotlib 创建的图像。block 参数是可选的,表示在关闭所有图形之前是否等待。此参数有助于覆盖 GUI 的阻塞。它接受一个布尔值 True 或 False。如果值为 'True',它将阻塞并运行 GUI 的主循环,直到所有图形都关闭。如果为 False,所有图像将立即显示。

要使用 matplotlib.pyplot.show() 函数,首先必须导入 matplotlib 库。

import matplotlib.pyplot as plt

plt 是 matplotlib.pyplot 模块的对象。

matplotlib.pyplot.show() 如何工作?

从基本的折线图到更复杂的 heatmap,Matplotlib 拥有您所需的一切,并且易于获得。然而,仅仅创建这些图表是不够的。为了查看它们,plot.show() 函数将图表显示在屏幕上或将其保存为图像文件。没有此函数,创建的图表将无法查看或显示。

plt.show() 函数使用 matplotlib 库处理的输入图像。每当使用 Matplotlib 代码创建图表时,幕后都会创建 figures 来保存这些可视化。但是,figures 不会立即显示在屏幕上。这时 `matplotlib.pyplot.show()` 就派上用场了。

matplotlib.pyplot.show() 的工作原理如下:

使用 Matplotlib 函数 (plt.plot(), plt.scatter() 等) 会在 figures 上生成图表,figures 作为可视化内容的容器。这些 figures 被保存在后台,等待显示。当您调用 plt.show() 时,Matplotlib 会收集您代码中的所有活动 figures。然后,这些图表将在一个单独的窗口中显示,该窗口由 plt.show() 启动渲染。这些图表包含在这个窗口中,支持缩放、平移和保存可视化等交互功能。Python 执行在 `plt.show()` 运行时暂停。此时,代码将一直停留,直到显示窗口关闭。关闭图表窗口后,Python 代码将继续运行。

在某些环境中,例如 Jupyter Notebook,plt.show() 的行为可能会有所不同。在某些情况下,图表可能会自动显示,而无需显式使用 plt.show()。在标准 Python 脚本或其他环境中,plt.show() 函数用于可视化 figures。

如果代码中创建了多个 figures,plt.show() 函数将把它们显示在单独的窗口或选项卡中,从而便于比较和分析。

现在是时候使用 plt.show() 在 Python 中显示图表和图像了。

示例 1:实现 plt.show() 函数的简单示例

输出

Matplotlib.pyplot.show() in Python

使用随机数列表创建折线图,并使用 plt.show() 显示。输出结果是根据给定的整数绘制的折线图。

示例 2:使用随机数绘图

输出

Matplotlib.pyplot.show() in Python

这里,使用 random.randint() 函数初始化一个范围从 0 到 500 的数组,并绘制图表。

示例 3:一起绘制不同的图表

输出

Matplotlib.pyplot.show() in Python
Matplotlib.pyplot.show() in Python

创建两个不同的图表。分别创建条形图和折线图并显示。plt.show() 函数被使用两次以分别显示图表。

示例 4:使用 subplot() 在单个图表中绘制不同的图表

输出

Matplotlib.pyplot.show() in Python

在此代码中,使用 subplot() 函数在单个框架中创建了散点图和直方图。plt.show() 只使用一次即可在子图中一起显示两个图表。

示例 5:使用 plt.show() 函数显示断裂条形图

输出

Matplotlib.pyplot.show() in Python

创建断裂条形图来显示储蓄和支出条形图,以分析支出。plt.show() 用于显示它。

直方图、饼图、箱线图等各种图表都可以使用 plt.show() 函数显示。

matplotlib.pyplot.show() 函数的应用

  • plt.show() 作为与图表交互的接口。它提供了放大或缩小的选项,将图表保存为图像,或仅仅与显示的数据进行交互。此窗口将一直保持,直到手动关闭,从而允许对可视化进行全面检查。

数据可视化是数据分析师或数据科学家分析数据并将原始数据转化为有用信息以进行趋势预测的关键概念。因此,plot.show() 函数在显示绘制的图表中起着重要作用。它广泛应用于各个领域,包括:

  • 科学家们使用 Matplotlib 来可视化科学数据和实验结果。plt.show() 可以更轻松地显示图表、图例和图形,从而有助于有效沟通研究成果。
  • 机器学习中的模型评估需要对特征分布、决策边界和模型性能进行可视化表示。在开发和评估模型过程中,plt.show() 使显示这些可视化变得更加容易。
  • 数据科学家在数据探索的早期阶段使用 Matplotlib 进行探索性可视化。plt.show() 使这些可视化的呈现成为可能,以便对数据集进行全面理解。

matplotlib.pyplot.show() vs matplotlib.pyplot.imshow()

虽然它们听起来相似,但 matplotlib.pyplot.imshow() 和 show() 函数的目的不同。Mataplotlib 库的 pyplot 模块包含这两个函数。plt.imshow() 函数可以处理图像以对其执行各种操作。但是,它不会在屏幕上显示图像。

当使用 matplotlib 库时,plt.show() 函数用于显示代码生成的图表和图像。此函数对于可视化数据分析结果至关重要,因为它显示了简洁有效地描绘数据的图形和图表。plt.show() 函数显示了 matplotlib 提供的全部功能,并基于提供的数据做出合理的判断。

plt.show() 函数除了显示图像之外,还允许保存图表;plt.imshow() 函数不提供此功能。

结论

matplotlib.pyplot.show() 提供了代码和可视化输出之间的连接。执行后,Matplotlib 使图表生动起来,使用户能够通过引人入胜的视觉显示来探索和理解数据。