Назначьте заголовок рисунка html-виджету (пакет vtree) в выходных данных R markdown

Мне нужно реализовать подпись к рисунку на графике, созданном пакетом vtree в уценке R. Я узнал, что это htmlwidget, и подписи к рисункам теперь должны быть возможны для htmlwidgets, используемых в уценке R с install.packages('webshot') и webshot::install_phantomjs() (ссылка: https://bookdown.org/yihui/bookdown/html-widgets.html#ref-R-DT. Но через несколько дней я не сделал ни одного шага дальше. Я не нашел ни одного примера (демонстрационного случая) для этой проблемы (fig.cap для htmlwidgets в R markdown в сети) поэтому я надеюсь, что кто-то может мне помочь!В моем примере набора данных радужной оболочки на рис. 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) 

1 ответ

Существует обходной путь с использованием пакета Magick. Вы сохраняете изображение как .png, используя grVizToPNG(убедитесь, что вы закомментировали эту строку перед рендерингом документа или поместили его в отдельный фрагмент с ´{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")

```

Другие вопросы по тегам