【问题标题】:R: Plot multiple file formats at onceR:一次绘制多种文件格式
【发布时间】:2017-01-03 22:49:55
【问题描述】:

最初我想编织一个文档并同时生成 svgpng 版本的绘图。

我查看了 knitr 的文档,发现在opts_chunk$set(dev = ...) 中您可以设置自己的函数来接受绘图。

但这也不是那么容易,因为svg(); pdf() 的调用会打开两个设备,但只有最后一个会生成输出。

有什么想法吗?

【问题讨论】:

  • 您正在生成 HTML 输出吗?如果是这样,是否将 PNG 显示在 HTML 中并将 SVG 保存在外部?
  • 另外,您使用的是 RMarkdown 吗?还是单独编织?
  • dev=c("png", "svg", "pdf")

标签: r plot knitr


【解决方案1】:

如果您正在使用 RMarkdown,并尝试以多种格式输出每个绘图,您可以这样做:

---
output:
  html_document:
    self_contained: false
---

```{r}
library(knitr)
opts_chunk$set(dev=c('png', 'svg'))
```

```{r}
plot(rnorm(10), rnorm(10))
```

如果您的文件名为“README.Rmd”,则图像将保存到README_files/figure-html/

self_containedyaml parameter 告诉 rmarkdown 将图像(和其他资源,如 JavaScript)保存在外部,而不是直接嵌入到 HTML 文件中。

dev 选项(请参阅knitr docs)可以简单地传递一个包含您希望将绘图另存为的所有格式的向量。

【讨论】:

  • 但是真的是无证的,你可以传递一个向量,还是我瞎了?
  • @Jakob 就在那里 - 埋在 knitr 文档的 chunk options 部分中的 dev 文档中。不过很容易被忽视;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-31
  • 2020-05-28
  • 1970-01-01
  • 1970-01-01
  • 2019-03-28
  • 1970-01-01
相关资源
最近更新 更多