Мне нужно реализовать подпись к рисунку на графике, созданном пакетом 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 в сети), поэтому я надеюсь, что кто-то там может мне помочь! В моем примере набора данных радужной оболочки на рис. 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. Вы сохраняете изображение в формате .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")
```