如何保存matplotlib或seaborn绘制的图像(可以设置dpi)?

本文介绍了如何使用matplotlib的savefig函数在Python中保存seaborn绘制的图像,并设置DPI以获得高清晰度图片。通过示例展示了如何加载数据,绘制箱式图,并以不同格式和DPI保存图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近我制作了一个 seaborn可视化教程,播放之后收到一位同学的提问:学了教程后知道怎么用 seaborn 绘图了,那么,绘图之后如何保存图片呢?能不能在保存时设置图片的 dpi 值?

对于第一个问题,我之前用过的保存图片方法是:

  • 截屏:使用Snipaste软件或电脑截图工具,详细操作方法欢迎阅读我的文章:Windows 截屏,你用过哪些方法?
  • 或者将运行之后(有绘图结果)的 Jupyter Notebook 文件存成 Markdown 文档:在菜单栏依次选择:File>Download as >Markdown(.md),生成的 Markdown 文档会带有导出的图片。

但是,第二个问题需要设置 dpi 值,那么, dpi 是什么呢?

DPI ( Dots Per Inch,每英寸点数)是一个度量单位,指每英寸长度上可显示或输出点的数量。DPI 参数一般用于衡量打印机、鼠标等设备的分辨率。具体来说,dpi 值越高,分辨率越高,图片就越清晰。

如何在保存图片时设置 dpi 值呢?

在网上查找了一下,发现要用到 matplotlib 中的 savefig 函数。使用语句plt.savefig("图片名",dpi=设置值)可以保存并导出相应分辨率的图片(. png格式),在 Jupyter Notebook 文件所在的文件夹中就能看到。如果要保存成其它格式,如 .svg, .jpg 或 .pdf,把格式写在文件名后即可,如:plt.savefig("图片名.svg",dpi=设置值)

下面我们通过一个具体的例子实践一下:

首先引用相应的库:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

加载 seaborn 自带的一个数据集,这个数据集记录了企鹅的一些特征,可以用于判断企鹅种类:

penguin_df=sns.load_dataset("penguins")

然后,绘制数据集的变量"bill_length_mm"(企鹅的嘴长)的箱式图,并且保存图片,设置 dpi 值为300:

sns.boxplot(data=penguin_df,x="bill_length_mm")
plt.savefig("boxplot01",dpi=300)

savefig 函数默认保存图片为 .png 格式,与plt.savefig("boxplot01.png",dpi=300)效果相同。

我们还可以将绘图保存为 .jpg 或 .svg 或 .pdf 格式,以及设置需要的dpi 值,比如:

sns.boxplot(data=penguin_df,x="bill_length_mm")
plt.savefig("boxplot01.jpg",dpi=150)
plt.savefig("boxplot02.svg",dpi=300)
plt.savefig("boxplot03.pdf",dpi=600)

下面这张图就是上面的几个输出结果之一,哈哈,猜猜是哪一个呢?效果真不错,你也快去试试吧!

使用savefig函数保存的图片
使用savefig函数保存的图

参考文章:

1.DPI:https://baike.baidu.com/item/DPI/908073

2.plt.savefig() 函数:Python之matplotlib基础

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值