gpt4 book ai didi

r - 在 knitr/rmarkdown 中绘制为 png

转载 作者:行者123 更新时间:2023-12-03 23:50:45 26 4
gpt4 key购买 nike

下面的 Rmarkdown 在 HTML 中呈现可绘制的 3D 图形,但不是在 PDF 中。

Testing plotly

```{r}
library(plotly)
p <- plot_ly(data=iris, x=~Sepal.Length, y=~Sepal.Width, z=~Petal.Length,
color=~Species, symbols=c(0,1), type="scatter3d", mode="markers")
p
```

图形的快照如下所示:

enter image description here

根据 plotly help page :

If you are using rmarkdown with HTML output, printing a plotly object in a code chunk will result in an interactive HTML graph. When using rmarkdown with non-HTML output, printing a plotly object will result in a png screenshot of the graph.



有没有办法在 PDF 中渲染绘图?

注意:来自 rmarkdown::render() 的错误是:
Error: Functions that produce HTML output found in document targeting latex output.
Please change the output type of this document to HTML. Alternatively, you can allow
HTML output in non-HTML formats by adding this option to the YAML front-matter of
your rmarkdown file:

always_allow_html: yes

Note however that the HTML output will not be visible in non-HTML formats.

最佳答案

我创建了一个小解决方法,它将绘图图像在本地保存为 png 文件并将其导入回 RMD 文件。
您需要这个包裹 webshot ,您可以通过以下方式加载:

install.packages("webshot")

此外,您需要通过以下方式安装phantomjs
webshot::install_phantomjs()

然后(当 phantomjs 在您的 PATH 中时),您可以创建您的 RMD 文件:
---
title: "Untitled"
output: pdf_document
---

```{r}
library(plotly)
p <- plot_ly(economics, x = ~date, y = ~unemploy / pop)

tmpFile <- tempfile(fileext = ".png")
export(p, file = tmpFile)
```
![Caption for the picture.](`r tmpFile`)

这对我有用..也许这对你来说也是一种解决方法!

关于r - 在 knitr/rmarkdown 中绘制为 png,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40268152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com