2017-10-03 9 views
1

私が取り組んでいる光沢のあるアプリケーションは、ggplotlyを使ってグラフを表示しています。結果のデータセットが空の場合、空白のプロットが以下のように表示されます。 enter image description hereShiny R - ggplotly - データセットが情報を返さないときに空のプロットではなくカスタムメッセージを表示

それは検証の助けを借りての代わりに、空のプロット

「データが選択された入力に存在しない」などのカスタムメッセージを表示することは可能です、私はときにエラーメッセージを表示することができる午前必要ユーザーは、フロントエンドで入力を選択しない -

validate(
     need(input$category, 'No data exists, please select a Category') 
    ) 



最終データセットが空であるとき、私は私がこれまでのコードの下に試してみた、サーバ側でも同様にカスタムメッセージを表示したいと思いますヘリのようにGoogleからのp。これらのコードではエラーは発生していませんが、エラーメッセージはデフォルトで印刷されています。

validate(
    need(nrow(dataset() > 0), 'Message here') 
    ) 

または

validate(
    need(is.null(dataset), 'Message here') 
    ) 



私はgが()私の最後のデータセットは、フィルタ適用基準のユーザー入力の後にあるコードは、以下の助けを借りてプロットしています -

output$plot1 <- renderPlotly({ 
    p <- ggplot(g(), aes_string(x=input$x, y=input$y)) + geom_point(alpha=0.4) 
    ggplotly(p) 

    }) 

私はシャイニーとRに新しいです、どんな助けも高く評価されます。

ありがとうございました。

答えて

2

これは何か?

library(shiny) 
library(plotly) 

ui <- fluidPage(
    plotlyOutput("plot") 
) 

server <- function(input, output) { 

    g <- reactive({NULL}) 

    output$plot <- renderPlotly({ 
    validate(
     need(nrow(g() > 0), 'No data exists, please select a Category') 
    ) 
    plot_ly(g(), x = ~mpg, y = ~wt) 
    }) 
} 

shinyApp(ui, server) 
+0

こんにちは@Pork Chop、あなたの提案は最初に何のエラーも与えていませんが、データがないとき、 "エラー:データが長すぎます"というエラーを表示しています。 –

+0

正確なエラーを出力してください。そのエラーは私の例とは関係ありません。 –

0

私はshinycssloadersパッケージとそのwithSpinner()機能をお勧めします。

+0

こんにちは、例やリファレンスのリンクを共有できますか? –

+0

Googleを使用してください... https://github.com/andrewsali/shinycssloaders –

+0

私はすでにそれを試してみましたが、あなたが見ることができるように、プロットしたリンクや他の人はvalidate(need()...)を使用しています。 ggplotlyで作業する –

関連する問題