gpt4 book ai didi

r - 将 rmarkdown 中的 ggplot 对象显示为 html svg 代码

转载 作者:行者123 更新时间:2023-12-04 15:41:03 26 4
gpt4 key购买 nike

我要展示ggplot浏览器上的对象作为 svg 使用 rmarkdown .

---
title: ""
output: html_document
---

```{r setup, include = FALSE}
library(svglite)
library(ggplot2)
knitr::opts_chunk$set(
dev = "svglite",
fig.ext = ".svg"
)
```

```{r, warning = F}
data(cars)

ggplot(mtcars, aes(mpg, qsec, color = factor(cyl))) +
geom_point()

```

一切正常,但是当我在 Chrome 中打开它并尝试检查元素时,结果发现整个情节都在 <img> 之内。标签。我要实现的是创造 rmarkdown带有整个 html 代码的文档 ggplot .

我尝试使用 htmlSVG功能,但它不适用于 ggplot .我收到一个错误:
Error in FUN(X[[i]], ...) : argumemt is not a character vector

然而,它在基本情节上效果很好 - htmlSVG(plot(data = sampled_df, z ~ price))当我将它包含在 rmarkdown 上时.

你知道可以用 ggplot 做同样的事情吗?对象?

最佳答案

我找到了解决方案。我所要做的就是使用 strstring生成整个代码,然后使用 htmltools::HTML .

---
title: ""
output: html_document
---

```{r setup, include = FALSE}
library(svglite)
library(ggplot2)
knitr::opts_chunk$set(
dev = "svglite",
fig.ext = ".svg"
)
```

```{r, warning = F, echo = F}
data(cars)

s <- svgstring()
ggplot(mtcars, aes(mpg, qsec, color = factor(cyl))) +
geom_point()

htmltools::HTML(s())

invisible(
dev.off()
)

```

我用 invisible函数以隐藏由 dev.off() 生成的消息.

关于r - 将 rmarkdown 中的 ggplot 对象显示为 html svg 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39756019/

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