目录
  • 1. R 中自带的默认绘图
    • 1) PDF 格式
    • 2) EPS 格式
  • 2. ggplot 绘图
    • 1) PDF 格式
    • 2) EPS 格式

之前写的博客中有提及过如何在 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)

以上就是R语言存储矢量图实现方式的详细内容,更多关于R语言存储矢量图的资料请关注其它相关文章!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。