我的ggvis图取决于几个输入字段,它们像输入数据的过滤器一样工作.对于某些组合,结果数据框为空,ggvis抛出错误并中断整个应用程序.我试着把
if(nrow(inputdataframe) == 0) return NULL
if(nrow(inputdataframe) == 0) return ggvis()
Run Code Online (Sandbox Code Playgroud)
这没有帮助.在这种情况下,什么是正确的返回参数(我想要一个空图或一些文本消息)?
server.R
effvis <- reactive ({
dta <- siteeff()
if(nrow(dta) == 0) return(NULL)
dta %>%
ggvis(~param.value, ~yvar) %>%
layer_points( size := 50, size.hover := 200) %>%
set_options(width = 800, height = 500)
})
effvis %>% bind_shiny("effplot")
Run Code Online (Sandbox Code Playgroud)
ui.R -
ggvisOutput("effplot")
Run Code Online (Sandbox Code Playgroud)
更新
我不想在数据为空时显示所有数据(如此处所示)这令人困惑
就我而言,使用最新的shiny,我可以只发送一个空的data.table(或data.frame),shiny只绘制一个空的图表(data.frame或data.table必须有相应的列)
| 归档时间: |
|
| 查看次数: |
1391 次 |
| 最近记录: |