Matplotlib 简明教程

Matplotlib - Saving Figures

在 Matplotlib 库中保存图形允许我们将所绘制的图形输出为各种文件格式,例如 PNG、PDF、SVG 等,以便在各种报告、演示文稿或出版物中使用这些已保存的图形。 Matplotlib 库提供了 savefig() 函数用于保存我们创建的图形。

Common File Formats for Saving

  1. PNG (.png) − 适用于支持透明度的通用图像。

  2. JPEG (.jpg) − 适用于具有平滑渐变的图像,但由于压缩可能会损失一些质量。

  3. PDF (.pdf) − 适用于基于矢量的图像,可以缩放而不会降低质量。

  4. SVG (.svg) − 可缩放矢量图形,适用于基于 Web 或基于矢量的图形。

在 Matplotlib 库中保存图形对于以各种格式保存可视化非常有用,因为它可以确保可以根据需要在不同的上下文中共享、使用或嵌入它们。通过调整文件格式和分辨率,我们可以根据要求在图像质量和文件大小之间取得平衡。

Syntax

以下是不使用 savefig() 方法的语法和参数。

plt.savefig(fname, dpi=None, bbox_inches='tight', pad_inches=0.1, format=None, kwargs)

其中,

  1. fname − 要保存图形的文件名或文件路径。文件扩展名决定了 ".png"".pdf" 等文件格式。

  2. dpi − 每英寸点数,即保存的图形的分辨率。默认为 "None" ,它使用 Matplotlib 默认值。

  3. bbox_inches − 指定要保存图形的哪一部分。选项包括“紧凑”、“标准”或以英寸为单位指定的外接框。

  4. pad_inchesbbox_inches='tight' 时的图形周围内边距。

  5. format − 明确指定文件格式。如果 'None' 格式是从 fname 中的文件扩展名推断出来的。

  6. kwargs − 针对所选文件格式的其他特定于关键字的参数。

Saving the plot in specified location

在此示例中,我们使用 plot() 函数创建一个简单的折线图,然后我们尝试使用指定的名称将绘制的图像保存在指定的位置。

import matplotlib.pyplot as plt
# Data
x = [22,1,7,2,21,11,14,5]
y = [24,2,12,5,5,5,9,12]
plt.plot(x,y)

# Customize the plot (optional)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Simple Line Plot')

# Display the plot
plt.savefig('matplotlib/Savefig/lineplot.png')
plt.show()

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

lineplot

Saving plot in .svg format

在此处,这是使用 savefig() 保存所绘制图形的另一个示例,它将文件格式指定为 svg,并将 dpi 指定为 300 来设置分辨率。

import matplotlib.pyplot as plt
# Data
x = [22,1,7,2,21,11,14,5]
y = [24,2,12,5,5,5,9,12]
plt.plot(x,y)

# Customize the plot (optional)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Simple Line Plot')

# Display the plot
plt.savefig('matplotlib/Savefig/lineplot2.svg',dpi = 500)
plt.show()

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

lineplot svg

Note

  1. 如果我们想要以屏幕上显示的确切外观保存图形,则应在调用 show() 之前调用 savefig() ,否则将保存空文件。

  2. fname 参数中的文件扩展名决定了保存文件的格式。如果格式是 None ,Matplotlib 会自动推断格式。