2016-07-27 16 views
2

Ich möchte die Größe von Highchart beim Klicken auf die Zoom-Schaltfläche erhöhen. Ich habe versucht, den Code unten zu verwenden, um die Größe zu vergrößern, aber bis jetzt konnte ich nicht erreichen, was ich machen möchte. Ich wollte eigentlich, dass das Highchart durch Klicken auf die Zoom-Schaltfläche erweitert wird und die ganze Seite einnimmt. Ich habe den folgenden Code bisher geschrieben, aber es scheint nicht zu funktionieren. Kann mir jemand sagen, was ich falsch mache?Shiny: Erhöhen Sie die Highchart-Größe beim Klicken auf die Schaltfläche

require(shiny) 
require(rCharts) 

ui <- fluidPage(


    tags$script('Shiny.addCustomMessageHandler("ZoomPlot", function(variableName){ 
       document.getElementById(variableName).style.height = "1000px"; 
       }); 
       '), 

    headerPanel("Test app"), 
    actionButton("test", "Zoom"), 

    div(class = "chart-container", showOutput("viz", "highcharts")) 
) 



server <- shinyServer(function(input, output, session) { 
    output$viz <- renderChart2({ 
    a <- highchartPlot(Sepal.Length ~ Sepal.Width, data=iris) 
    a 
    }) 

    observeEvent(input$test,{ 
    session$sendCustomMessage(type = 'ZoomPlot', message = "viz") 
    }) 
}) 

shinyApp(ui, server) 

Antwort

1

Sie tun es nur Serverseite wie

server <- shinyServer(function(input, output, session) { 
    hh=reactive({ 
    if(input$test>0) {1000}else{400} 
    }) 
    output$viz <- renderChart2({ 
    a <- highchartPlot(Sepal.Length ~ Sepal.Width, data=iris) 
    a$set(height = hh() 
     ) 
    a 
    }) 

}) 
mit