当用户为闪亮的绘图选择0个输入变量时,我想显示一个大错误消息而不是绘图。使用this answer中的validate()和方法,我只能在绘图的顶部/底部显示自定义错误消息。然后有一个大的空白空间,以前的情节。如何根据自己的喜好格式化textoutput / error消息,以便只在无法渲染绘图时显示。
...#server.R
output$pairsPlot <- renderPlot({
output$displayvars <- renderText("")
if (length(input$display) >= 2) { #method 1
#method 2
validate(need(length(input$display)>=2, "Please select two or more display variables."))
if (input$autoRender == TRUE) {
vars <- varsList()
data <- colorData()
} else {
vars <- slowVarsList()
data <- slowData()
}
print("Rendering Plot.")
pairs(data[vars],
lower.panel = panel.smooth,
upper.panel=NULL,
col=data$color,
pch = as.numeric(input$pointStyle),
cex = as.numeric(input$pointSize))
# }
print("Plot Rendered.")
}
else {
output$displayvars <- renderText("need more display vars") #method 1
}
})
...ui.R
column(9,
h2(textOutput("displayvars"), align = "center"),
plotOutput("pairsPlot", click = "pairs_click", height=700)
)
正如您在代码中看到的,有两种错误报告方法(1. if / else textoutput; 2. validate)(第一种方法覆盖了验证)