用R语言来导出各种格式的图片

欢迎关注微信公众号(医学生物信息学),医学生的生信笔记,记录学习过程。

常见图片的格式包括:pdf,jpeg,tiff,png,svg,wmf。

pdf,svg和wmf为矢量图格式,放大图片时不会出现模糊。

jpeg,tiff和png为位图格式,调整文件大小时会出现模糊。

ggsave()来保存图片

通过ggplot2来绘图,那么可以使用ggsave()来保存输出图片。

plot1 <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()

# 默认输出单位为英寸,可以通过units参数来指定单位
ggsave("myplot.pdf", plot1, width = 8, height = 8, units = "cm")

另一种方式是ggplot对象不赋值为plot1,在调用ggplot()之后只调用ggsave(),它将保存最后一个ggplot对象。

使用ggsave(),不需要通过print()来打印ggplot对象,如果在创建或保存图片时出错,则无需通过dev.off()来手动关闭图形设备。还有一点需要注意,ggsave()不能用于绘制多页图。

ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()

ggsave("myplot.pdf", width = 8, height = 8, units = "cm")

输出图片为PDF格式

方法一

pdf("myplot.pdf", width = 4, height = 4)

plot(mtcars$wt, mtcars$mpg)
print(ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point())

dev.off()

默认宽度和高度的输出单位为英寸,若想输出单位为厘米,则需通过下方代码进行转换。

# 8x8 cm
pdf("myplot.pdf", width = 8/2.54, height = 8/2.54)

方法二

plot1 <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()

# 默认输出单位为英寸,可以通过units参数来指定单位
ggsave("myplot.pdf", plot1, width = 8, height = 8, units = "cm")

输出图片为SVG格式

方法一

library(svglite)
svglite("myplot.svg", width = 4, height = 4)
plot1 <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()
print(plot1)
dev.off()

方法二

plot1 <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()
ggsave("myplot.svg", plot1, width = 8, height = 8, units = "cm")

输出图片为PNG格式

方法一

# 宽度和高度以像素为单位
png("myplot.png", width = 400, height = 400)
plot(mtcars$wt, mtcars$mpg)
dev.off()

若要输出多个图片,可以在文件名中加入%d

png("myplot-%d.png", width = 400, height = 400)
plot(mtcars$wt, mtcars$mpg)
print(ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point())
dev.off()

默认输出为每英寸72像素(ppi)。这种分辨率适合在电子屏幕上显示,而300 ppi一般用于印刷。

ppi <- 300
# 计算300 ppi下4x4英寸图像的高度和宽度(以像素为单位)
png("myplot.png", width = 4*ppi, height = 4*ppi, res = ppi)
plot(mtcars$wt, mtcars$mpg)
dev.off()

从左到右:PNG输出为72、150和300 ppi(实际大小)

方法二

ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point()

# 默认输出单位为英寸,可以通过units参数来指定单位
ggsave("myplot.png", width = 8, height = 8, unit = "cm", dpi = 300)

输出图片为TIFF格式

方法一

tiff("myplot.tiff", width = 4, height = 4, units = "cm", res = 300)
plot1 <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()
print(plot1)
dev.off()

方法二

plot1 <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()
ggsave("myplot.tiff", plot1, width = 8, height = 8, units = "cm", dpi = 300)

输出图片为WMF格式

WMF文件的创建和使用方式与PDF文件非常相似,但只能在Windows上创建。

方法一

win.metafile("myplot.wmf", width = 4, height = 4)
plot1 <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()
print(plot1)
dev.off()

方法二

plot1 <- ggplot(mtcars, aes
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值