如何在 Python 的 Matplotlib 中获取当前图形编号?


在本文中,我们将学习如何在 Python 的 matplotlib 中获取当前图形编号。

Matplotlib 是一个 Python 库,它是 NumPy 库的一个数值数学扩展。Pyplot 是 Matplotlib 模块的一个基于状态的接口,它提供了类似 MATLAB 的功能。Pyplot 中提供了线图、等高线图、直方图、散点图、3D 图等多种绘图方式。

使用 plt.gcf().number

什么是 plt.gcf()

matplotlib.pyplot.gcf() 函数主要用于获取当前图形。如果当前没有图形,则使用 figure() 函数生成一个。

matplotlib.pyplot.gcf()

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 从 matplotlib 导入 pyplot。

Pyplot is a Matplotlib module that offers a MATLAB-style interface.
Matplotlib is intended to be as user-friendly as MATLAB, but with the added benefit of being free and open-source. Each pyplot function alters a figure in some way, such as creating a figure, creating a plotting area in a figure, plotting some lines in a plotting area, decorating the plot with labels, and so on. Pyplot supports the following plot types: Line Plot, Histogram, Scatter, 3D Plot, Image, Contour, and Polar
  • 使用 import 关键字导入 numpy。

  • 使用 arange() 函数获取从 0.1 到 2 的值范围(NumPy arange() 是一个基于数值范围的数组创建例程。它创建一个具有等间距值的 ndarray 实例,并返回对它的引用)。

  • 获取上面创建的 numpy 数组的正弦值并将其存储在一个变量中,并将正弦值乘以 2。

  • 获取上面创建的 numpy 数组的正弦值并将其存储在一个变量中,并将正弦值乘以 4 以显示差异。

  • 使用 pyplot 创建一个图形,并将图形数量作为参数传递给 figure() 函数(函数 plt.figure() 用于创建图形对象。图形对象被认为是整个图形。当我们想要更改图形大小或在单个图形中添加多个 Axes 对象时,必须显式使用 plt.figure())。

  • 使用 plot() 函数创建图形(要在图表中绘制点(标记),请使用 plot() 函数。默认情况下,plot() 函数绘制从点到点的线。该函数接受用于指定图表点的参数。第一个参数是 x 轴点的数组。参数 2 是包含 y 轴点的数组)。这里我们取 arange 值作为 x 轴,正弦值作为 y 轴。

  • 使用不同的正弦值创建另一个图形。

  • 使用 plt.gcf() 函数的 number 属性获取当前图形编号。

  • 打印当前图形编号。

  • 使用 show() 函数显示图形(plt.show() 启动事件循环,搜索所有当前活动的图形对象,并在一个或多个交互式窗口中显示图形)。

以下程序使用 **plt.gcf().number** 返回 Python 的 matplotlib 中的当前图形编号:

# Importing pyplot from matplotlib as plt using the alias(as) keyword from matplotlib import pyplot as plt import numpy as np # Taking sine values as numpy array t = np.arange(0.1, 2.0) # Sine curves sineValues1 = np.sin(2*np.pi*t) sineValues2 = np.sin(4*np.pi*t) # Creating a numpy figure plt.figure(1) # Plotting the figure by passing sine curve values plt.plot(t, sineValues1) # Creating second numpy figure plt.figure(2) # Plotting the second figure by passing another sine curve values plt.plot(t, sineValues2) # Getting the current Figure number using gcf().number attribute currentFigureNumber = plt.gcf().number # Printing current figure number print("Current Figure Number: ", currentFigureNumber) # Showing the plots plt.show() # Importing pyplot from matplotlib as plt using the alias(as) keyword from matplotlib import pyplot as plt import numpy as np # Taking sine values as numpy array t = np.arange(0.1, 2.0) # Sine curves sineValues1 = np.sin(2*np.pi*t) sineValues2 = np.sin(4*np.pi*t) # Creating a numpy figure plt.figure(1) # Plotting the figure by passing sine curve values plt.plot(t, sineValues1) # Creating second numpy figure plt.figure(2) # Plotting the second figure by passing another sine curve values plt.plot(t, sineValues2) # Getting the current Figure number using gcf().number attribute currentFigureNumber = plt.gcf().number # Printing current figure number print("Current Figure Number: ", currentFigureNumber) # Showing the plots plt.show()

输出

执行上述程序后,将生成以下输出:


因为我们最近创建了第二个图形,所以当前工作图形为 2。

注意

您还可以使用文本字符串而不是数字创建图形,例如 plt.figure("first")。在图形之间切换时,这可能比数字更容易记住。但是,plt.gcf().number 返回整数“1”,表示它是一个自动编号系统。

结论

在本文中,我们学习了如何在 matplotlib 中获取当前图形编号。我们还学习了什么是 matplotlib、如何在绘图时创建图形、如何使用 gcf() 函数获取图形等等。

更新于:2022-09-22

3K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告