Рендеринг fusionchartsR htmlwidgets в rmarkdown - PullRequest
0 голосов
/ 01 апреля 2020

Я создаю новый пакет htmlwidget с именем fusionchartsR (https://github.com/alexym1). Я попытался вставить небольшой кусочек кода в мой отчет по rmarkdown, однако он не работает, и я не знаю почему. Я пробовал разные стратегии, но безуспешно.

Первая стратегия

---
title: "Stack overflow"
author: "John Doe"
date: "01/04/2020"
output: word_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

## Render an htmlwidget graphic

```{r}
library(fusionchartsR)
df <- data.frame(label = c("Venezuela", "Saudi", "Canada", "Russia"), value = c(290, 260,180, 115))
fusionPlot(data = df, type = 'pie2d') %>%
  fusionTheme(theme = "fusion") 
```

Вторая стратегия

# Webshot and phantomjs have been previously installed.
library(webshot)
webshot::install_phantomjs()

# Then, I loaded packages and built a little piece of code
library(fusionchartsR)
library(htmlwidgets)

df <- data.frame(label = c("Venezuela", "Saudi", "Canada", "Russia"), value = c(290, 260,180, 115))
widget <- fusionPlot(data = df, type = 'pie2d') %>%
  fusionTheme(theme = "fusion") 

# Save a rendered widget to an HTML file
saveWidget(widget = widget, file = "Mywidget.html")

# An error appeared: `Error: pandoc document conversion failed with error 99`

# Take a webshot
webshot(url = "Mywidget.html", file = "webshot.png")

Mywidget. html можно найти в папке «Документы».

Как я могу решить эту проблему? Я буду очень благодарен!

1 Ответ

0 голосов
/ 28 апреля 2020

Вместо использования webshot, вы должны попробовать webshot2 на https://github.com/rstudio/webshot2, который не страдает от этой проблемы. Я скопировал ваш сценарий с webshot2, проблема решена, как показано на скриншоте ниже. См. мой подробный ответ на аналогичный случай.

Код:

# Webshot and phantomjs have been previously installed.
library(webshot2)

# install.packages("remotes")
# remotes::install_github("alexym1/fusionChartsR")

# Then, I loaded packages and built a little piece of code
library(fusionchartsR)
library(htmlwidgets)

df <- data.frame(label = c("Venezuela", "Saudi", "Canada", "Russia"), value = c(290, 260,180, 115))
widget <- fusionPlot(data = df, type = 'pie2d') %>%
  fusionTheme(theme = "fusion") 

# Save a rendered widget to an HTML file
saveWidget(widget = widget, file = "Mywidget.html")

# An error appeared: `Error: pandoc document conversion failed with error 99`

# Take a webshot
webshot(url = "Mywidget.html", file = "webshot.png")

Выход: enter image description here

...