Matplotlib - 图形类



在 Matplotlib 中,Figure 是一个顶级容器,它包含绘图或可视化中的所有元素。它是包含各种组件(如坐标轴、标签、标题、图例、颜色条和其他元素)的整体窗口或画布。

参见下图以供参考:

Figure_class Intro

在上图中,绿色区域表示图形,白色区域是坐标轴区域。

Matplotlb 中的图形类

Matplotlib 中的Figure() 类是一个顶级图形对象,充当所有绘图元素的主要容器。它将所有内容组合在一起,包括子图、坐标轴、标题、图例和其他图形元素。

此类可在matplotlib.figure 模块中找到,除了 Figure() 类之外,该模块还包含与创建和管理图形相关的类,并提供多种自定义选项。

创建图形

通常使用 pyplot 方法(如 figure、subplots 和 subplot_mosaic)创建 Figure 实例。这些方法同时返回 Figure 实例和一组 Axes,提供了一种方便的方式来创建和使用可视化效果。

示例

这是一个使用pyplot.figure() 方法创建图形的示例。

import matplotlib.pyplot as plt
import numpy as np

# Creating the Figure instance
fig = plt.figure(figsize=[7, 3], facecolor='lightgreen', layout='constrained')

# Adding a title to the Figure
fig.suptitle('Figure')

# Adding a subplot (Axes) to the Figure
ax = fig.add_subplot()

# Setting a title for the subplot
ax.set_title('Axes', loc='left', fontstyle='oblique', fontsize='medium')

# Showing the plot
plt.show()
输出

执行上述代码后,我们将得到以下输出:

Figure_class Ex1

示例

此示例演示了如何在 Matplotlib 的单个脚本中分别创建多个图形。

from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7, 3.50]
plt.rcParams["figure.autolayout"] = True

# Create Figure 1
fig1 = plt.figure("Figure 1")
plt.plot([1, 3, 7, 3, 1], c="red", lw=2)
plt.title("Figure 1")

# Create Figure 2
fig2 = plt.figure("Figure 2")
plt.plot([1, 3, 7, 3, 1], c="green", lw=5)
plt.title("Figure 2")

# Display both figures
plt.show()
输出

执行上述代码后,您将得到以下输出:

Figure_class Ex5_1

 

Figure_class Ex5_2

创建带有子图网格的图形

创建图形时,可以自定义各种选项,包括子图、大小、分辨率、颜色和布局。Figure 类的属性(如 figsize、dpi、facecolor、edgecolor、linewidth 和 layout)在塑造可视化的外观方面起着至关重要的作用。

示例

这是一个使用pyplot.subplots() 方法创建 2x2 子图网格以及多个自定义选项的示例。

import matplotlib.pyplot as plt
import numpy as np

# Create a 2x2 grid of subplots with various customization options
fig, axs = plt.subplots(2, 2, figsize=(7, 4), facecolor='lightgreen',
   layout='constrained')

# Super title for the entire figure
fig.suptitle('2x2 Grid of Subplots', fontsize='x-large')

# Display the Figure
plt.show()

输出

执行上述代码后,我们将得到以下输出:

Figure_class Ex2

示例

这是另一个使用plt.subplot_mosaic() 方法创建更复杂布局的示例。

import matplotlib.pyplot as plt

# Create a more complex layout using plt.subplot_mosaic()
fig, axs = plt.subplot_mosaic([['A', 'right'], ['B', 'right']], 
   facecolor='lightgreen',
   layout='constrained')

# Add text to each subplot
for ax_name, ax in axs.items():
   ax.text(0.5, 0.5, ax_name, ha='center', va='center', 
   fontsize='large', fontweight='bold', color='blue')

# Super title for the entire figure
fig.suptitle('Complex Layout using subplot_mosaic()', fontsize='x-large')

# Display the Figure
plt.show()

输出

执行上述代码后,我们将得到以下输出:

Figure_class Ex3

保存图形

完成可视化后,可以使用savefig() 方法轻松地将图形保存到磁盘。此方法允许您指定文件格式(例如,PNG、PDF)并自定义分辨率和边界框等选项。

示例

让我们来看一个保存 Figure 对象的简单示例。

import matplotlib.pyplot as plt

# Create a 2x2 grid of subplots with various customization options
fig, axs = plt.subplots(2, 2, figsize=(7, 4), facecolor='lightgreen',
   layout='constrained')

# Super title for the entire figure
fig.suptitle('2x2 Grid of Subplots', fontsize='x-large')

# Super title for the entire figure
fig.suptitle('Saving a Figure', fontsize='x-large')

# Display the Figure
plt.show()

# Save the Figure object to a file
fig.savefig('Saved Figure.png', dpi=300)

输出

执行上述程序后,以下图形将保存在您的工作目录中:

Figure_class Ex4
广告