Matplotlib - 保存图形



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

常见的保存文件格式

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

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

  • PDF (.pdf) − 理想的基于矢量的图像,可缩放且不会损失质量。

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

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

语法

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

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

其中,

  • fname − 要保存图形的文件名或路径。文件扩展名决定文件格式,例如 ".png"".pdf"

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

  • bbox_inches − 指定要保存图形的哪一部分。选项包括 'tight'、'standard' 或以英寸为单位指定的边界框。

  • pad_inches − 当 bbox_inches='tight' 时,图形周围的填充。

  • format − 显式指定文件格式。如果为 'None',则从 fname 中的文件扩展名推断格式。

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

在指定位置保存绘图

在这个例子中,我们使用 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()
输出

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

Line Plot

以 .svg 格式保存绘图

这是另一个使用 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()
输出

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

SVG Line Plot

注意

  • 如果我们想保存与屏幕上显示的图形完全相同的图形,则应在调用 show() 之前调用 savefig(),否则将保存空文件。

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

广告