2016-05-25 10 views
0

Ich versuche, das interaktive Diagramm von rCharts Paket einzubetten. Um das Diagramm einzubetten, habe ich das Beispiel von hier verwendet (Shiny app).Diagramm (rCharts) wird nicht auf der Webseite angezeigt (Shiny)

Das Beispiel funktioniert gut, aber mein Prototyp funktioniert ohne die Diagrammausgabe (es wurden keine Fehler gemeldet). Mein Skript ist wie folgt:

ui.r:

library(shiny) 
require(rCharts) 

shinyUI(fluidPage(

# Application title 
titlePanel("Old Faithful Geyser Data"), 

# Sidebar with a slider input for number of bins 
sidebarLayout(
sidebarPanel(
    sliderInput("bins", 
       "Number of bins:", 
       min = 1, 
       max = 50, 
       value = 30) 
), 

# Show a plot of the generated distribution 
mainPanel(
    showOutput("myChart", "polycharts") 
) 
) 
)) 

server.r:

library(shiny) 
require(rCharts) 

shinyServer(function(input, output) { 


observeEvent(input$bins,{ 
df2 <<- data.frame(x=c(1:input$bins),y=c(1:input$bins)) 


}) 



output$myChart <- renderChart({ 

    print(df2) 
    p1 <- rPlot(df2$x,df2$y, data = df2, color='green', type = 'point') 
    p1$addParams(dom = 'myChart') 
    return(p1) 

}) 

}) 

Antwort

1

ich Ihren Code überprüft haben und hier sind einige Hinweise:

1) rPlot nimmt Daten als x~y zusammen mit color Argument

2) Es ist besser, wenn Sie die eventReactive und weisen es df2() statt observe und <<- Betreiber Globalzession verwenden

rm(list = ls()) 
library(shiny) 
require(rCharts) 

server <- function(input, output) { 

    df2 <- eventReactive(input$bins,{data.frame(x=c(1:input$bins),y=c(1:input$bins))}) 
    output$myChart <- renderChart({ 
    p1 <- rPlot(x~y, data = df2(), color='green', type = 'point', color = 'x') 
    p1$addParams(dom = 'myChart') 
    return(p1) 
    }) 
} 

ui <- fluidPage(
    # Application title 
    titlePanel("Old Faithful Geyser Data"), 

    # Sidebar with a slider input for number of bins 
    sidebarLayout(sidebarPanel(sliderInput("bins","Number of bins:", min = 1,max = 50,value = 30)), 
       # Show a plot of the generated distribution 
       mainPanel(showOutput("myChart", "polycharts")) 
) 
) 
shinyApp(ui, server) 

enter image description here

+0

Dank für eine rasche Antwort. das Beispiel sieht gut aus :-) –

Verwandte Themen