我正在研究的闪亮应用程序是使用ggplotly显示图形。在结果数据集为空的情况下,将显示空白图,如下所示。
是否可以显示自定义消息,例如“所选输入中不存在数据”而不是空图
在验证的帮助下,当用户未在前端选择输入时,我需要能够显示错误消息 -
validate(
need(input$category, 'No data exists, please select a Category')
)
我希望在最终数据集为空时在服务器端显示类似的自定义消息,到目前为止,我已尝试使用以下代码来获取谷歌的帮助。这些代码没有给出任何错误,但默认情况下正在打印错误消息。
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)
})
我是Shiny和R的新手,感谢任何帮助。
感谢。
答案 0 :(得分:2)
这样的东西?
library(shiny)
library(plotly)
ui <- fluidPage(
plotlyOutput("plot")
)
server <- function(input, output) {
g <- reactive({NULL})
output$plot <- renderPlotly({
validate(
# Old Code
need(nrow(g() > 0), 'No data exists, please select a Category')
# With parentheses fix
need(nrow(g()) > 0, 'No data exists, please select a Category')
)
plot_ly(g(), x = ~mpg, y = ~wt)
})
}
shinyApp(ui, server)
答案 1 :(得分:0)
我推荐shinycssloaders
个软件包及其withSpinner()
函数。