2017-01-31 14 views
1

これは私の問題です。 条件付きパネルselectInputと一緒に正しく設定することはできません。私が必要とするのは、 "AP LIGUA"が選択されているときにapliguaを描画し、 "LAS CRUZADAS"を選択したときlascruzadasをプロットすることです。しかし、Shinyは両方のグラフをプロットしています。サーバーで条件付きパネルとselectInput

ヘルプしてください...

vars <- data.frame(location = c("AP LIGUA", 
           "LAS CRUZADAS"), 
       lat = c(-32.45, 
         -32.183333), 
       lon = c(-71.216667, 
         -70.802222) 
) 

output$apligua <- renderPlotly({ 
theme_set(theme_bw()) 
ggplot(aes(x = datos2$horafecha, y = datos2$altura2), data = datos2) + 
    geom_line() + 
    geom_point() + 
    geom_smooth(method = "auto", colour='blue', span=0.2) + 
    ylab("Altura (m) ") + 
    xlab("Meses") 
}) 

output$lascruzadas <- renderPlotly({ 
theme_set(theme_bw()) 
ggplot(aes(x = datos$horafecha, y = datos$altura2), data = datos) + 
    geom_line() + 
    geom_point() + 
    geom_smooth(method = "auto", colour='blue', span=0.2) + 
    ylab("Altura (m) ") + 
    xlab("Meses") 
}) 

UI

selectInput(inputId = "myLocations", label = "Estación", 
               choices = vars$location), 

conditionalPanel("input.myLocations" == "LAS CRUZADAS", 
           plotlyOutput("lascruzadas", height = "100%") 
           ), 

conditionalPanel("input.myLocations" == "AP LIGUA", 
           plotlyOutput("apligua", height ="100%") 
           ) 

(ERROR EDITED)で

+0

あなたはconditionalPanelを試しましたか( 'input.myLocations == "LAS CRUZADAS"'、...? – BigDataScientist

+0

これは最初のプロット「AP LIGUA」に対してのみ機能しますが、アプリのインターフェースの入力を「LAS CRUZADAS 'は他のグラフをプロットしていません – Forever

+0

上記のコードでは、 'output $ apligua < - renderPlotly'と' output $ chalaco < - renderPlotly'を見ることができますが、 'output $ lascruzadas < - renderPlotly' – BigDataScientist

答えて

1

条件はJavascriptコードの1文字列である必要があります。したがって、次のようなものがあります。

"input.myLocations == 'LAS CRUZADAS'" 

一重引用符に注意してください。

+0

これは、最初のプロット 'AP LIGUA'でのみ機能しますが、アプリのインターフェースの入力を 'LAS CRUZADAS'に変更すると、他のグラフはプロットされません – Forever

+2

私はlookeしますあなたのコードで。同じIDを持つ2つの入力(「myLocations」)があります。入力が異なるタブにあっても、これはRを混乱させるでしょう。プロットは、入力の1つに別の名前を付けると機能します。 –

+0

パーフェクト。今すぐうまくいく!私はこれが感謝の言葉ではないことを知っています...しかしトム、本当にありがとう! – Forever