R 语言储存矢量图

18 篇文章 3 订阅

之前写的博客中有提及过如何在 R 语言中绘制矢量图,然后用于论文引用。但没有专门开一篇博客来进行说明比较,这里重新开一篇博客来进行说明。

通常保存为矢量图可能大多数时候是为了论文中的引用,所以格式一般为 EPS, PDF 这两种格式,这里也主要针对这两种格式进行说明。


1. R 中自带的默认绘图

通常我们使用 plot(), lines(), points(), hist() 等一些 R 中自带的绘图工具,如果我们想要将图片储存为矢量图的 PDF 格式应该怎么做呢?

1) PDF 格式

pdf("example1.pdf", width = 4.0, height = 3.0)

plot(rnorm(100), main="Hey Some Data") # 自己的绘图函数
# ...
# ...

dev.off()

非常简单,只需用到 pdf() 函数即可。

2) EPS 格式

setEPS()
postscript("example1.eps", width = 4.0, height = 3.0)

plot(rnorm(100), main="Hey Some Data") # 自己的绘图函数
# ...
# ...

dev.off()

eps 格式相对复杂,需用到 setEPS()postscript() 函数。


2. ggplot 绘图

利用 ggplot 绘制矢量图就相对更加简单了,每种方式都只需在最后加上一行代码即可。

假设我们先利用 ggplot 进行绘图(用例子中的图):

library(ggplot2)
# Generate some sample data, then compute mean and standard deviation
# in each group
df <- data.frame(
  gp = factor(rep(letters[1:3], each = 10)),
  y = rnorm(30)
)
ds <- plyr::ddply(df, "gp", plyr::summarise, mean = mean(y), sd = sd(y))

# The summary data frame ds is used to plot larger red points on top
# of the raw data. Note that we don't need to supply `data` or `mapping`
# in each layer because the defaults from ggplot() are used.
ggplot(df, aes(gp, y)) +
  geom_point() +
  geom_point(data = ds, aes(y = mean), colour = 'red', size = 3)

1) PDF 格式

这时我们要储存为 PDF 格式的图,只需在上述绘图语句后面运行下述语句即可:

ggsave("example2.pdf", width = 4.0, height = 3.0)

2) EPS 格式

而 EPS 格式需要多一个参数: device = cairo_ps

ggsave("example2.eps", width = 4.0, height = 3.0, device = cairo_ps)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值