2017-12-11 13 views
0

R Shinyでは、チェックされたラジオボタンに応じて異なるプロット出力タイプをレンダリングしたいと思います。これは、create plots based on radio button selection R Shinyのように簡単に実装できます。今、このアプローチをさらに進めて、dygraphsやamChartsなどの異なる出力タイプでこれを実装する方法は?私が達成しようとしています何の試み:事前にRで異なるプロット出力タイプをレンダリングするにはどうすればよいですか?

library(shiny) 
library(dygraphs) 
library(amCharts) 

myData <- runif(100) 
myData <- ts(runif(72,0,10), start=c(2009, 1), end=c(2014, 12), frequency=12) 
myData 

outType <- function(x,type){ 
    switch(type, 
     A = renderPlot({ hist(x)}), 
     B = renderDygraph({ barplot(x)}), 
     C = amChartsOutput({ pie(x)})) 
} 

plotOut <- function(type,plotlabel,data){ 
    switch(type, 
     A = plotOutput(plotlabel,data), 
     B = dygraph(plotlabel,data), 
     C = plotOutput(plotlabel,data)) 
} 

runApp(list(
    ui = bootstrapPage(
    radioButtons("pType", "Choose plot type:", 
       list("A", "B", "C")), 
    plotOut('A','plot',myData) 
), 

    server = function(input, output) { 
    observe({ 
     type <<- input$pType 
     output$plot <- outType(myData, input$pType) 
    }) 
    } 
)) 

おかげでそのような

答えて

1

何か。 serverで:

ui
output$plot <- renderPlot({ 
    validate(need(input$pType=="A", message=FALSE)) 
    hist(myData) 
}) 
output$dygraph <- renderDygraph({ 
    validate(need(input$pType=="B", message=FALSE)) 
    barplot(myData) 
}) 

conditionalPanel('input.pType=="A"', plotOutput("plot")) 
conditionalPanel('input.pType=="B"', dygraphOutput("dygraph")) 

おそらくplotOutput("plot")は何もpTypeではありませんレンダリングされますので、条件付きパネルは、必要とされていないAではない、とdygraphOutput("dygraph")は何もpTypeBではないではありませんレンダリングされます。

関連する問題