首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在rmarkdown中将ggplot对象显示为html svg代码

在rmarkdown中将ggplot对象显示为html svg代码
EN

Stack Overflow用户
提问于 2016-09-29 03:24:19
回答 1查看 995关注 0票数 7

我想使用rmarkdown在浏览器上将ggplot对象显示为svg。

代码语言:javascript
复制
---
title: ""
output: html_document
---

```{r setup, include = FALSE}

库(Svglite)

库(Ggplot2)

knitr::opts_chunk$set(

代码语言:javascript
复制
  dev = "svglite",
代码语言:javascript
复制
  fig.ext = ".svg"

)

代码语言:javascript
复制
```{r, warning = F}

数据(汽车)

ggplot(mtcar,aes(mpg,qsec,color =factor(Cyl)+

代码语言:javascript
复制
  geom_point()
代码语言:javascript
复制

一切正常,但当我在Chrome中打开它并尝试检查元素时,发现整个绘图都在<img>标记中。我想要实现的是创建与整个ggplot的html代码的rmarkdown文档。

我尝试使用htmlSVG函数,但它在ggplot上不起作用。我得到一个错误:

代码语言:javascript
复制
Error in FUN(X[[i]], ...) : argumemt is not a character vector

但是,当我将它包含在rmarkdown上时,它在基本的plot - htmlSVG(plot(data = sampled_df, z ~ price))上工作得很好。

您知道对ggplot对象也可以做同样的事情吗?

EN

回答 1

Stack Overflow用户

发布于 2016-09-29 23:09:57

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

代码语言:javascript
复制
---
title: ""
output: html_document
---

```{r setup, include = FALSE}

库(Svglite)

库(Ggplot2)

knitr::opts_chunk$set(

代码语言:javascript
复制
  dev = "svglite",
代码语言:javascript
复制
  fig.ext = ".svg"

)

代码语言:javascript
复制
```{r, warning = F, echo = F}

数据(汽车)

S <- svgstring()

ggplot(mtcar,aes(mpg,qsec,color =factor(Cyl)+

代码语言:javascript
复制
  geom_point()

htmltools::HTML(s())

不可见(

代码语言:javascript
复制
  dev.off()

)

代码语言:javascript
复制

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39756019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档