2017-04-13 7 views
1

私はflexdashboardで輝くランタイムを使用しています。光沢のあるobserveEventを使ってチャートを削除するには?

私は、ボタンを押す(input$updt)のチャートを非表示にしたい、と私はこれをしようとしていた。

--- 
title: "Students Data - College of Business" 
output: 
    flexdashboard::flex_dashboard: 
     orientation: columns 

runtime: shiny 
--- 
```{r setup, include=FALSE} 
library(flexdashboard) 
library(ggplot2) 
library(shinyjs) 
shinyjs::useShinyjs(rmd=TRUE) 
``` 

Column {data-width=650} 
----------------------------------------------------------------------- 

### Chart A 

```{r} 

actionButton('updt', 'Update chart') 
output$p1 <-renderPlot({ ggplot(diamonds, aes(carat, price)) + geom_point() }, height=800) 
plotOutput("p1") 

output$p2 <- renderPlot({ 
    ggplot(mtcars, aes(cyl, disp))+ geom_point() 
}) 

plotOutput("p2") 
observeEvent(input$updt, {hide("p1")}) 


``` 

しかし、私はそれがp1

答えて

1

を隠していないボタンをクリックしたときにhide()プロットを含む要素のidが必要ですが、renderPlotoutputIdoutputArgsに設定することはできません。 observeEventHandlerでエラーが発生しました:私はこのエラー `警告を取得しています

library(shinyjs) 
shinyjs::useShinyjs(rmd=TRUE) 
actionButton('updt', 'Update chart') 

output$p1 <- renderPlot({load('p1.RDA') p1}, height=800) 
plotOutput("p1") 
output$p2 <- renderPlot(expr={ [...code to recalculate p2] }) 
plotOutput("p2") 
observeEvent(input$updt, {hide("p1")}) 
+0

回避策は、plotOutputを使用することです、私は書き直し – Dambo

+0

を機能「隠す」を見つけることができませんでした、私は私の答えを編集しました再現可能な例を使用して質問します(私は最初からそれをしていたはずです)。それは仕事をしていないようです。 – HubertL

+0

それはshinyjsの一部だ' – Dambo

関連する問題