Есть ли способ получить графику для рендеринга при локальном открытии файла html, созданного с помощью flexdashboard? - PullRequest
0 голосов
/ 24 января 2020

Я уже некоторое время создаю файлы html с flexdashboard и графической графикой, и только недавно заметил, что вкладки в моей панели не отображают графически графическую графику, когда я открываю файл с локального диска.

Рассмотрим этот базовый c .rmd файл:

---
title: "Test Dashboard"

output:
  html_document: flexdashboard::flex_dashboard
  pdf_document: default

---
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(arules)
library(plotly)
library(dplyr)
library(DT)
library(reshape2)
library(stringr)
library(crosstalk)

rf<-data.frame(happiness=c(1,2,3,4,5,6,7,8),
           laziness=c(3,4,6,1,2,5,6,1))






```


Association Rules
==================================
Column {.tabset}
----------------------------------

### Table


```{r what2, echo=FALSE, collapse=TRUE, message=FALSE,warning=FALSE}
datatable(rf, filter = 'top', extensions = 'Buttons', options = list(dom = 'Bfrtip', buttons = 
c('csv', 'excel','copy', I('colvis')),pageLength = 20, autoWidth = TRUE),rownames = FALSE)
```




### Plot

```{r what, echo=FALSE, collapse=TRUE, message=FALSE, warning=FALSE}


P<-plot_ly(rf,
       x=~happiness,
       y=~laziness, 
        color = ~happiness)
P
```

В приведенный выше код я включил пакеты, которые я часто загружаю, если кто-то узнает о том, что один из этих пакетов является виновник.

Когда я связываю этот .rmd в Rstudio для создания файла. html на моем жестком диске, файл сохраняется как положено.

Переход к файлу и его открытие (Chrome и firefox были протестированы) приводит к тому, что пользователь видит таблицу очень хорошо, но вкладка для графика пуста.

Мой текущий способ обойти график - добавить "#plot" в конец пути к файлу в моем браузере и нажать refre sh. Когда я это делаю, появляется сюжет, и все хорошо.

Хотя это работает для меня, использование моих выходных файлов делает его менее интересным для других.

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 29 января 2020

Функция renderPlotly () во flexdashboard динамически изменяет размеры графиков графиков. Я использовал в одном из моих сообщений в блоге на Flexdahboard, см .: https://medium.com/analytics-vidhya/shiny-dashboards-with-flexdashboard-e66aaafac1f2

0 голосов
/ 24 января 2020

Кажется, что plotly не может получить ширину и высоту по умолчанию, и поэтому использует NULL. Установка их вручную в вызове plot_ly приводит к появлению графика, например:

P<-plot_ly(rf,
       x=~happiness,
       y=~laziness, 
        color = ~happiness,
       width = 600, 
       height = 400)
...