2013-10-28 10 views
6

Ich versuche, ein rChart in einer glänzenden Anwendung zu plotten und über Rstudio Server zu starten. Wenn ich die App starte, gibt die glänzende Seite den Fehler: Versuch, Nichtfunktion anzuwenden, und das RChart wird in einem neuen Browserfenster geöffnet.rChart öffnet ein neues Fenster in glänzender Anwendung

Wie kann der rChart in der glänzenden Anwendung erscheinen?

server.R

library(shiny) 
require(rCharts) 

names(iris) = gsub("\\.", "", names(iris)) 

shinyServer(function(input, output) { 

output$myChart <- renderChart({ 
h1 <- hPlot(x = "Wr.Hnd", y = "NW.Hnd", data = MASS::survey, 
type = c("line", "bubble", "scatter"), group = "Clap", size = "Age") 
return(h1$show(cdn = TRUE)) 
    }) 
}) 

ui.R

library(shiny) 
require(rCharts) 
shinyUI(pageWithSidebar(

headerPanel("rCharts and shiny"), 

sidebarPanel(), 

mainPanel(
showOutput("myChart") 
) 
)) 

Meine R Sitzung info

R version 3.0.2 (2013-09-25) 
Platform: x86_64-pc-linux-gnu (64-bit) 

other attached packages: 
[1] shiny_0.7.0  plyr_1.8  rCharts_0.3.51 devtools_1.3 ggplot2_0.9.3.1 RMySQL_0.9-3 DBI_0.2-7  

Antwort

7

Sie vermissen den Namen der library in showOutput. Wenn Sie den dev Zweig der rCharts installieren, dann können Sie den folgenden Code

library(shiny) 
# devtools::install_github("rCharts", "ramnathv", ref = "dev") 
library(rCharts) 
runApp(list(
    ui = pageWithSidebar(
    headerPanel("rCharts and shiny"), 
    sidebarPanel(

    ), 
    mainPanel(
     showOutput("myChart", "highcharts") 
)), 
    server = function(input, output, session){ 
    output$myChart <- renderChart2({ 
     h1 <- hPlot(x = "Wr.Hnd", y = "NW.Hnd", data = MASS::survey, 
     type = c("line", "bubble", "scatter"), group = "Clap", 
     size = "Age" 
    ) 
     return(h1) 
    }) 
    } 
)) 
8

Sie haben ausführen, um festzulegen, welche Bibliothek importieren müssen, je nachdem, welche Art von Handlung Sie verwenden.

Hier ist eine list aller verfügbaren Bibliotheken aus der Beschreibung des rCharts-Pakets.

datatables 
dimple 
highcharts 
leaflet 
morris 
nvd3 
polycharts 
rickshaw 
vega 
xcharts 

Hier ist der Demo-Code auf der Website von Rcharts und ich habe es geändert, um hplot zu plotten.

ui.R

require(rCharts) 
shinyUI(pageWithSidebar(
    headerPanel("rCharts: Interactive Charts from R using highcharts"), 

    sidebarPanel(
    selectInput(inputId = "x", 
       label = "Choose X", 
       choices = c('SepalLength', 'SepalWidth', 'PetalLength', 'PetalWidth'), 
       selected = "SepalLength"), 
    selectInput(inputId = "y", 
       label = "Choose Y", 
       choices = c('SepalLength', 'SepalWidth', 'PetalLength', 'PetalWidth'), 
       selected = "SepalWidth") 
), 
    mainPanel(
    showOutput("myChart", "highcharts") 
) 
)) 

server.R

require(rCharts) 
shinyServer(function(input, output) { 
    output$myChart <- renderChart({ 
    names(iris) = gsub("\\.", "", names(iris)) 
    # HPLOT 
    p1 <- hPlot(input$x, input$y, data = iris, type = c("line", "bubble", "scatter"), group = "Species", size = 1) 
    # RPLOT 
    #p1 <- rPlot(input$x, input$y, data = iris, color = "Species", facet = "Species", type = 'point') 
    p1$addParams(dom = 'myChart') 
    return(p1) 
    }) 
}) 

enter image description here