runoops.com

R 语言保存图片的3种方法

原生的方法

分为3步:

(1)创建画布

(2)绘图

(3)关闭画布

实例

# 1. 创建画布
png( 
    filename = "name.png", # 文件名称
    width = 480,           # 宽
    height = 480,          # 高
    units = "px",          # 单位
    bg = "white",          # 背景颜色
    res = 72)              # 分辨率
# 2. 绘图
plot(1:5) 
# 3. 关闭画布
dev.off()
此外类似的方法还有jpeg(), bmp(), tiff(), pdf(), svg()

ggsave()

ggsave只能保存基于ggplot2绘图的图片。只要是使用ggplot2绘图的都推荐使用ggsave保存图片。

实例

library(ggplot2)
p <- ggplot(mtcars, aes(wt, mpg)) + geom_point()

# ggsave 会默认保存上一个ggplot对象
ggsave(
  filename = "name.png", # 保存的文件名称。通过后缀来决定生成什么格式的图片
  width = 7,             # 宽
  height = 7,            # 高
  units = "in",          # 单位
  dpi = 300              # 分辨率DPI
)

Cairo 包保存图片

实例

library(Cairo)
# Cairo.capabilities() # 检查当前电脑所支持的格式

# 1. 创建画布
Cairo::CairoPNG( 
  filename = "name.png", # 文件名称
  width = 7,           # 宽
  height = 7,          # 高
  units = "in",        # 单位
  dpi = 300)           # 分辨率
# 2. 绘图
plot(1:5) 
# 3. 关闭画布
dev.off() 

# 此外类似的方法还有CairoJPEG(), CairoTIFF(), CairoPDF(), CairoSVG()等

关于dpi的解释

分辨率(DPI)指的是图像每英寸长度内的像素点数。 假如需要长10英寸,宽10英寸的,分辨率300的图片。对应的电脑里的像素就是10*300=3000像素。

建议
只要是使用ggplot2绘图的都推荐使用ggsave保存图片。其他的使用Cairo保存图片。

Captcha Code

0 笔记

分享笔记

Inline Feedbacks
View all notes