2017-09-11 10 views
0

私はShinyでアプリを開発しています。送信ボタンを使ってプロットを描画したいまた、ユーザーが入力チェックボックスをチェックするとラベルを印刷したい私はボタンを使ってプロットをレンダリングすることができます。しかし、チェックボックスをオンにしても機能しません。ここで光沢のあるrenderPlotlyと2つの条件

コードです:

library(shiny) 
library(plotly) 

ui <- fluidPage(
actionButton('RUN', 'Run'), 
checkboxInput('PrintLab', 'Label', FALSE), 
plotlyOutput("plot1") 
) 

server = function(input, output) { 
output$plot1 <- renderPlotly({ 
req(input$RUN) 
isolate({ 
    ggplotly(ggplot(data = mtcars, aes(wt, hp)) + 
      geom_point(size=1, colour = "grey")) 
    }) 

    req(input$PrintLab) 
    isolate({ 
    ggplotly(ggplot(data = mtcars, aes(wt, hp)) + 
      geom_point(size=1, colour = "grey") + 
      geom_text(aes(label=wt), size=3, colour = "black")) 
    }) 

}) 
} 

runApp(shinyApp(ui, server)) 

答えて

0

私は光沢のある専門家だが、私には右req(input$PrintLab)は見えません。 これはあなたが進めてきたことを達成していますか?

server <- function(input, output) { 
    output$plot1 <- renderPlotly({ 
    req(input$RUN) 

    if (!input$PrintLab) { 
     ggplotly(ggplot(data = mtcars, aes(wt, hp)) + 
      geom_point(size=1, colour = "grey")) 
    } else { 
     ggplotly(ggplot(data = mtcars, aes(wt, hp)) + 
      geom_point(size=1, colour = "grey") + 
      geom_text(aes(label=wt), size=3, colour = "black")) 
    } 

    }) 
} 

(私はより良い方法があると確信しています。それはちょうど私の頭の上からです。)

関連する問題