我想使用rmarkdown在浏览器上将ggplot对象显示为svg。
---
title: ""
output: html_document
---
```{r setup, include = FALSE}库(Svglite)
库(Ggplot2)
knitr::opts_chunk$set(
dev = "svglite", fig.ext = ".svg")
```{r, warning = F}数据(汽车)
ggplot(mtcar,aes(mpg,qsec,color =factor(Cyl)+
geom_point()一切正常,但当我在Chrome中打开它并尝试检查元素时,发现整个绘图都在<img>标记中。我想要实现的是创建与整个ggplot的html代码的rmarkdown文档。
我尝试使用htmlSVG函数,但它在ggplot上不起作用。我得到一个错误:
Error in FUN(X[[i]], ...) : argumemt is not a character vector但是,当我将它包含在rmarkdown上时,它在基本的plot - htmlSVG(plot(data = sampled_df, z ~ price))上工作得很好。
您知道对ggplot对象也可以做同样的事情吗?
发布于 2016-09-29 23:09:57
我找到了一个解决方案。我所要做的就是先使用strstring生成整个代码,然后再使用htmltools::HTML。
---
title: ""
output: html_document
---
```{r setup, include = FALSE}库(Svglite)
库(Ggplot2)
knitr::opts_chunk$set(
dev = "svglite", fig.ext = ".svg")
```{r, warning = F, echo = F}数据(汽车)
S <- svgstring()
ggplot(mtcar,aes(mpg,qsec,color =factor(Cyl)+
geom_point()htmltools::HTML(s())
不可见(
dev.off())
我使用invisible函数来隐藏由dev.off()生成的消息。
https://stackoverflow.com/questions/39756019
复制相似问题