如何使用 Matplotlib 在 Python 中单独显示图形?

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

Matplotlib 是一个强大的 Python 图表工具包,常用于创建可视化图表。有时,可能需要在单个窗口中绘制多个图形,但有时也需要单独显示它们。这有助于组织复杂的视觉效果或比较不同的图表。幸运的是,Matplotlib 提供了多种方法来实现这一点。在本教程中,我将介绍如何在 Python 中使用 Matplotlib 来单独显示图形。

步骤 1:导入 Matplotlib

Matplotlib 是一个完整的 Python 可视化工具包,可用于创建静态、动态和交互式图形。要使用它,您需要将 Matplotlib 导入到您的 Python 脚本或 Jupyter Notebook 中。导入绘图和可视化最常见的方式是使用 Matplotlib 的 pyplot 模块,该模块提供了简单的用户界面。

步骤 2:创建图形和绘图

导入 Matplotlib 后,您可以开始创建图形和绘图。在 Matplotlib 中,绘图绘制在图形中,图形是所有内容绘制的整个窗口或页面。您可以使用 `plt.figure()` 函数创建一个新图形。然后,您可以使用各种绘图方法(如 `plt.plot()`、`plt.scatter()`、`plt.bar()` 等)在该图形中创建一些绘图类型。

步骤 3:单独显示图形

要确保每个绘图都显示在其各自的图形窗口中,您需要在创建每个绘图之前调用 `plt.figure()`。它告诉 Matplotlib 为每个绘图创建一个新图形。

步骤 4:自定义您的绘图

Matplotlib 提供了广泛的自定义选项,因此您可以按照所需的方式精确地创建您的绘图。使用 Matplotlib 提供的各种方法和选项,您可以注释点、添加标签、标题和图例、更改颜色等等。以下是一些常见的自定义技术:

  • 添加标签和图例:使用 `plt.xlabel()` 和 `plt.ylabel()` 为您的轴添加标签。使用 `plt.legend()` 添加图例,以帮助您区分不同的绘图。
  • 更改线条样式和颜色:使用 Matplotlib,您可以为绘图提供可选的线条样式(例如,实线、虚线和点线)和颜色。这可以通过为绘图例程提供更多参数来实现。
  • 修改轴限制:分别使用 `plt.xlim()` 和 `plt.ylim()` 来设置 x 轴和 y 轴的限制。
  • 添加标题和注释:可以使用 `plt.title()` 为图形添加标题,并使用 `plt.annotate()` 在指定位置为绘图添加注释。
  • 自定义刻度线和刻度标签:您可以使用 `plt.xticks()` 和 `plt.yticks()` 来更改刻度线和刻度标签在轴上的显示方式。

步骤 5:显示绘图

最后,在创建和自定义您的绘图后,您可以调用 `plt.show()` 函数来显示绘图。此函数为每个图形打开单独的窗口,将它们独立显示。通常使用 `plt.show()` 显示绘图,但也有其他方法可以导出或保存图形。例如,您可以使用 `plt.savefig()` 将图形保存为图像文件(如 PNG、JPEG 或 PDF),而不是交互式显示图形。

因此,您可以创建精美的图形,用于报告、演示文稿或其他研究。

此外,Matplotlib 支持多种绘图渲染后端,例如用于图形用户界面 (GUI) 的交互式后端和用于以编程方式创建静态图像或动画的非交互式后端。

代码

输出

How to Show Figures Separately in Python Using Matplotlib?

让我们来看一些使用 Matplotlib 处理独立图形的更复杂的方法和场景。

1. 子图

子图允许您在一个图形中以网格格式组织显示多个绘图。当您需要并排比较多个图表时,这非常有用。要创建子图,请使用 Matplotlib 提供的 `plt.subplots()` 方法。

代码

输出

How to Show Figures Separately in Python Using Matplotlib?

2. 以编程方式保存图形

如果您想在不交互式显示的情况下保存图形,可以使用 `plt.savefig()` 结合 `plt.figure()` 来以编程方式创建和保存多个图形。

代码

输出

How to Show Figures Separately in Python Using Matplotlib?

结论

总之,Matplotlib 提供了灵活的功能来处理和生成 Python 中的多个图形。通过遵循本指南中提供的说明,您可以比较多个绘图,组织复杂的视觉效果,并单独显示图形。无论您需要将多个绘图保存为图像文件、将它们集成到交互式应用程序中,还是在独立窗口中显示它们,Matplotlib 都提供了必要的工具和自定义选项。从简单的绘图到具有子图的复杂布局,Matplotlib 使开发人员能够创建满足其特定需求的专业级可视化图表。通过利用 Matplotlib 广泛的功能和多功能性,您可以有效地传达您的发现并从数据中提取新的见解。