在 R markdown 输出中将图形标题分配给 html 小部件(vtree 包)
Assign figure caption to html widget (vtree package) in R markdown output
我需要在 R markdown 中的 vtree 包生成的图中实现图形标题。我了解到这是一个 htmlwidget 并且图形标题现在应该可以用于 R markdown 中使用 install.packages('webshot') 和 webshot::install_phantomjs() 的 htmlwidgets(参考:https://bookdown.org/yihui/bookdown/html-widgets.html#ref-R-DT。
但是几天后我并没有真正更进一步。我没有找到这个问题的任何例子(展示案例)(fig.cap for htmlwidgets in R markdown in the net)所以我希望有人能给我一些帮助!
在我的鸢尾花数据集示例中,在图 1 中,与图 2 相比,标题不起作用。
我的虹膜设置示例 RMD 文件:
YAML
---
title: "test"
author: "TJ"
date: "14 12 2020"
output: html_document
---
代码块 1:加载库和数据
knitr::opts_chunk$set(echo = TRUE)
library(vtree)
library(webshot)
library(tidyverse)
attach(iris)
df <- iris %>%
select(Species) %>%
cbind(sapply(levels(.$Species), `==`, .$Species))
代码块 2:图 1
{r fig1, echo=FALSE, fig.cap="Vtree plot"}
vtree(iris, "Species")
代码块 3:图 2
{r fig2, echo=FALSE, fig.cap="Scatter plot iris dataset"}
plot(Sepal.Length, Sepal.Width, main="Scatterplot Example",
xlab="Sepal Length ", ylab="Sepal Width ", pch=19)
有一个解决方法是使用 Magick package.You 使用 grVizToPNG
将图像保存为 .png(确保在渲染文档之前注释掉这一行,或者将其放在一个单独的块中´{r eval = FALSE},否则渲染时会报错:
```{r eval=FALSE, echo = FALSE}
myimage <- vtree(iris, "Species")
saveMyimage <- grVizToPNG(myimage, width=800)
```
这里使用Magick
包:
```{r magick, echo= FALSE}
MyimagePNG <- image_read("myimage.png")
image_annotate(MyimagePNG, "Vtree plot", size = 35, gravity = "southwest")
```
我需要在 R markdown 中的 vtree 包生成的图中实现图形标题。我了解到这是一个 htmlwidget 并且图形标题现在应该可以用于 R markdown 中使用 install.packages('webshot') 和 webshot::install_phantomjs() 的 htmlwidgets(参考:https://bookdown.org/yihui/bookdown/html-widgets.html#ref-R-DT。 但是几天后我并没有真正更进一步。我没有找到这个问题的任何例子(展示案例)(fig.cap for htmlwidgets in R markdown in the net)所以我希望有人能给我一些帮助! 在我的鸢尾花数据集示例中,在图 1 中,与图 2 相比,标题不起作用。
我的虹膜设置示例 RMD 文件:
YAML
---
title: "test"
author: "TJ"
date: "14 12 2020"
output: html_document
---
代码块 1:加载库和数据
knitr::opts_chunk$set(echo = TRUE)
library(vtree)
library(webshot)
library(tidyverse)
attach(iris)
df <- iris %>%
select(Species) %>%
cbind(sapply(levels(.$Species), `==`, .$Species))
代码块 2:图 1
{r fig1, echo=FALSE, fig.cap="Vtree plot"}
vtree(iris, "Species")
代码块 3:图 2
{r fig2, echo=FALSE, fig.cap="Scatter plot iris dataset"}
plot(Sepal.Length, Sepal.Width, main="Scatterplot Example",
xlab="Sepal Length ", ylab="Sepal Width ", pch=19)
有一个解决方法是使用 Magick package.You 使用 grVizToPNG
将图像保存为 .png(确保在渲染文档之前注释掉这一行,或者将其放在一个单独的块中´{r eval = FALSE},否则渲染时会报错:
```{r eval=FALSE, echo = FALSE}
myimage <- vtree(iris, "Species")
saveMyimage <- grVizToPNG(myimage, width=800)
```
这里使用Magick
包:
```{r magick, echo= FALSE}
MyimagePNG <- image_read("myimage.png")
image_annotate(MyimagePNG, "Vtree plot", size = 35, gravity = "southwest")
```