2016-10-29 8 views
1

Я пытаюсь связать в RMarkdown в HTML этот сюжет из interactivity vignette:Как вставлять интерактивные графики ggvis в RMarkdown?

mtcars %>% ggvis(x = ~wt) %>% 
    layer_densities(
     adjust = input_slider(.1, 2, value = 1, step = .1, label = "Bandwidth adjustment"), 
     kernel = input_select(
     c("Gaussian" = "gaussian", 
      "Epanechnikov" = "epanechnikov", 
      "Rectangular" = "rectangular", 
      "Triangular" = "triangular", 
      "Biweight" = "biweight", 
      "Cosine" = "cosine", 
      "Optcosine" = "optcosine"), 
     label = "Kernel") 
    ) 

Но я получаю следующее сообщение об ошибке:

## Warning: Can't output dynamic/interactive ggvis plots in a knitr document. 
## Generating a static (non-dynamic, non-interactive) version of the plot. 
+3

В верхней части этой страницы говорится: 'Примечание. Если вы просматриваете HTML-версию этого документа, сгенерированную с помощью knitr, на примерах будут отключены их интерактивные функции. Вам нужно будет запустить код в R, чтобы увидеть и использовать интерактивные элементы управления. «Вы можете запустить его в Shiny или Shiny-enabled FlexDashboard RMarkdown. Вы также можете проверить сюжет, который [добавляет некоторые ограниченные элементы управления на стороне клиента] (http://moderndata.plot.ly/new-feature-dropdown-menus-in-plotly-and-r/). – alistaire

+0

@alistaire Спасибо, я заметил это, но я думал, что это возможно раньше, не так ли? Означает ли это, что http://ggvis.rstudio.com/interactivity.html - это блестящее приложение? – Dambo

+0

Поверьте, или, по крайней мере, он работает на сервере Shiny. Обратите внимание, что он загружается немного медленнее, чем остальные страницы RStudio. – alistaire

ответ

4

Вы должны установить «выход: html_document» и «время выполнения : блестящий "в заголовке. Это работает для меня:

--- 
title: "stackoverflow" 
author: "Kári S Friðriksson" 
date: "7 nóvember 2016" 
output: html_document 
runtime: shiny 
--- 

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



```{r eruptions, echo=FALSE} 
mtcars %>% ggvis(x = ~wt) %>% 
    layer_densities(
     adjust = input_slider(.1, 2, value = 1, step = .1, label = "Bandwidth adjustment"), 
     kernel = input_select(
     c("Gaussian" = "gaussian", 
      "Epanechnikov" = "epanechnikov", 
      "Rectangular" = "rectangular", 
      "Triangular" = "triangular", 
      "Biweight" = "biweight", 
      "Cosine" = "cosine", 
      "Optcosine" = "optcosine"), 
     label = "Kernel") 
    ) 
``` 

Самый простой способ сделать это, чтобы пойти в файл/новый файл/R уценки/Блестящий/Shiny документ. Затем заголовок будет автоматически настроен для вас, и вместо кнопки knitr на панели над кодовым окном будет кнопка воспроизведения. Также обратите внимание, что в коде необходимо указать library(ggvis), потому что блестящий начнется с слайса cleas и не сможет «увидеть» пакеты или функции, которые вы загрузили.