R: rCharts и Shiny: сюжет Rickshaw не будет отображаться

После того, как я получил массу удовольствия от получения основ блестящего вниз с помощью ggplot2, я пробую rCharts. Однако я не могу отобразить график рикши. Любая помощь высоко ценится; успокойтесь - я только привыкаю к ​​этому ;)

### ui

library(shiny)
require(devtools)
install_github('rCharts', 'ramnathv')
# moved from lower down so call to `showOutput` would not fail
library(rCharts) 
library(rattle)

shinyUI(

  pageWithSidebar(

  headerPanel("Rickshaw test"),

    sidebarPanel(

      selectInput("variable", 
                  "Choice is arbitrary:",
                  c("Choice 1", "Choice 2")
                  )
      ),  

  mainPanel(

    showOutput("plot", "Rickshaw")
    )
  )
)

### server


data(weather)
w = weather

dateToSeconds = function (date) {

  date = as.POSIXct(as.Date(date), origin = "1970-01-01")
  as.numeric(date)
}

w$Date = dateToSeconds(w$Date)

shinyServer(function(input, output) {

  output$mpgPlot = renderChart({

    rs = Rickshaw$new()    
    rs$layer(MinTemp ~ Date,
             data = w,
             type = "line")    
    return(rs)    
  })  
})

person user32259    schedule 01.07.2013    source источник
comment
Пожалуйста, опубликуйте сообщения об ошибках. (С одной стороны, сообщается, что функция «showOutput» не находится в «блестящем». С другой стороны, «rCharts» отсутствует в CRAN.)   -  person IRTFM    schedule 01.07.2013
comment
Как только вы переупорядочиваете библиотечные вызовы и перезапускаете код, на Mac с R 3.0.1 ошибок не возникает, но эй... нет вызова rPlot, так как же что-то должно произойти???   -  person IRTFM    schedule 01.07.2013
comment
@DWin вы можете создать график, не вызывая напрямую rPlot, OP создал объект Rickshaw, как в примерах ramnathv.github .io/rCharts   -  person dickoa    schedule 02.07.2013
comment
Верно, но я не вижу ничего похожего на p4$print("chart6"), который отправлял бы серверу команду что-то сделать.   -  person IRTFM    schedule 02.07.2013
comment
Верно, но я не вижу ничего похожего на p4$print(chart6), который отправлял бы серверу команду что-то сделать. И когда я выполняю код на странице примера, все, что я получаю, это вывод html-кода на экран. Я думаю, что должна быть последовательность установки, которая подробно не описана.   -  person IRTFM    schedule 02.07.2013
comment
Я уверен, что есть хитрость, и, может быть, вы можете попробовать опубликовать сообщение в блестящем списке рассылки (он очень активен)   -  person dickoa    schedule 02.07.2013


Ответы (2)


Основная проблема заключается в том, что showOutput, renderChart и вызов Shiny должны ссылаться на один и тот же идентификатор сюжета. Я изменил ваш код на основе этого, и он работает. Вот код для всеобщего ознакомления

ОБНОВИТЬ. Убедитесь, что у вас установлена ​​последняя версия rCharts с github.

## server.R
library(shiny)
library(rCharts) 
library(rattle)
data(weather)
w = weather

dateToSeconds = function (date) {
  date = as.POSIXct(as.Date(date), origin = "1970-01-01")
  as.numeric(date)
}

w$Date = dateToSeconds(w$Date)
shinyServer(function(input, output) {

  output$plot = renderChart({  
    rs = Rickshaw$new()    
    rs$layer(MinTemp ~ Date, data = w, type = "line")
    rs$set(dom = "plot")
    return(rs)    
  })  
})

## ui.R
library(shiny)
library(rCharts) 
library(rattle)

shinyUI(pageWithSidebar(
  headerPanel("Rickshaw test"),
  sidebarPanel(
    selectInput("variable", "Choice is arbitrary:",
      c("Choice 1", "Choice 2")
    )
  ),  
  mainPanel(    
   showOutput("plot", "Rickshaw")
  )
))
person Ramnath    schedule 02.07.2013
comment
Оно работает? Я думаю, что некоторые детали реализации или активации могут быть очевидны для вас, но не для остальных. Кажется, ничего не меняется ни на моей консоли, ни в моем браузере. Мне действительно нравится демонстрация, которую вы предлагаете ramnathv.github.io/rChartsParCoords, но думаю, что должна быть дальнейшие шаги - person IRTFM; 02.07.2013
comment
Я предполагаю, что вы установили последнюю версию rCharts. Можешь распечатать свой sessionInfo()? - person Ramnath; 02.07.2013
comment
В моем комментарии/ответе. Учитывая, что я установил его сегодня в соответствии с инструкциями на вашей странице GitHub, я думаю, что он должен быть последним. Я думал, что это может быть необходимо для установки на веб-сервере. - person IRTFM; 02.07.2013
comment
спасибо Рамнат. В моем исходном коде showOutput и renderChart использовали один и тот же идентификатор графика - извините за ошибку при вводе. Проблема, с которой я столкнулся, заключалась в том, что я не включил rs$set(dom = "plot") в код. Что это делает, пожалуйста? Ваше здоровье. - person user32259; 02.07.2013
comment
Кроме того, вы можете получить какую-либо интерактивность при запуске этого приложения? Я не могу. Например, hoverDetail и slider не работают. - person user32259; 02.07.2013
comment
rs$set(dcom = "plot") указывает rCharts установить идентификатор графика для построения. Будущие версии могут обойтись без необходимости в этом. В коде Rickshaw есть ошибка при использовании с Shiny, из-за которой не отображаются интерактивные функции. На этой неделе постараюсь исправить. - person Ramnath; 02.07.2013
comment
@Двин. Нет. Приведенный выше код должен работать сразу после установки, если у вас установлены последние версии rCharts и Shiny. Можете ли вы опубликовать скриншот того, что вы получаете на своем экране при запуске приложения? Может быть, лучше перенести это обсуждение на github. - person Ramnath; 02.07.2013
comment
Приветствую Рамнатха. Я хотел бы поблагодарить вас за вашу работу над фантастическим rCharts. Что касается ошибки, как лучше всего получать информацию об этом? Есть группа rCharts или что-то в этом роде? - person user32259; 02.07.2013
comment
Я не получаю ошибки. Как я уже сказал, никакой видимой реакции. В моем рабочем каталоге тоже нет файла. rPlot, с другой стороны, создает новую веб-страницу. Вы уверены, что нет какого-то нового вызова на сервер, который не был отправлен? - person IRTFM; 02.07.2013
comment
Можешь попробовать runGist("5789871afbd6602729ec") ? и скажи мне, что происходит? Сообщите о Github, чтобы мы могли поддерживать чистоту этой ветки SO. - person Ramnath; 02.07.2013
comment
@user32259 user32259 Буду признателен, если вы сообщите о проблеме в репозиторий github github.com/ramnathv/rCharts. . Я использую его как список дел. - person Ramnath; 02.07.2013
comment
конечно Рамнатх. Спасибо :) - person user32259; 02.07.2013
comment
@Ramnath Когда я отслеживаю код для графика параллельных координат, который вы предлагаете на своей странице GitHub по адресу github.com/nachocab /clickme Я получаю указания от приложения запустить HTTP-сервер из каталога, содержащего приложение. Он прекрасно работает с demo_ractive("par_coords") после выполнения python -m SimpleHTTPServer. Вы уверены, что нам не нужно что-то подобное? - person IRTFM; 02.07.2013
comment
@DWin clickme — это другой пакет. Нет, rCharts работает «из коробки» и не требует дополнительного кода. - person Ramnath; 02.07.2013

Я совершенно уверен, что это не ответ, а скорее комментарий с форматированием. После запуска вашего кода и отсутствия вывода (что неудивительно, поскольку я не видел команды, которая бы давала какое-либо направление для построения графика), я запустил это, используя данные о погоде:

rPlot(MaxTemp ~ Sunshine , data = w, type = 'point')

rPlot(MinTemp ~ Date,
         data = w,
         type = "line")

И получил блестящий сервер для отправки графиков в мой работающий экземпляр Firefox.

sessionInfo()
R version 3.0.0 RC (2013-03-31 r62463)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] grDevices datasets  splines   graphics  utils     stats     methods   base     

other attached packages:
[1] rattle_2.6.27   rCharts_0.3.51  shiny_0.6.0     rms_3.6-3       Hmisc_3.10-1   
[6] survival_2.37-4 sos_1.3-5       brew_1.0-6      lattice_0.20-15

loaded via a namespace (and not attached):
 [1] bitops_1.0-5       caTools_1.14       cluster_1.14.4     colorspace_1.2-1  
 [5] dichromat_2.0-0    digest_0.6.3       ggplot2_0.9.3.1    grid_3.0.0        
 [9] gtable_0.1.2       httpuv_1.0.6.3     labeling_0.1       MASS_7.3-26       
[13] munsell_0.4        plyr_1.8           proto_0.3-10       RColorBrewer_1.0-5
[17] reshape2_1.2.2     RJSONIO_1.0-1      scales_0.2.3       stringr_0.6.2     
[21] tools_3.0.0        whisker_0.1        xtable_1.7-1       yaml_2.1.7        
person IRTFM    schedule 01.07.2013
comment
rPlot — это сокращение для графиков с использованием Polychart. Я знаю, что это не соответствует остальным соглашениям об именах, но это результат того, что rCharts изначально разрабатывался только для использования с Polychart. - person Ramnath; 02.07.2013