gpt4 book ai didi

r - Shiny - 将 NULL 返回到plotOutput 时出现黑框

转载 作者:行者123 更新时间:2023-12-02 17:31:50 24 4
gpt4 key购买 nike

在下面的 MWE 中,当我第一次运行源代码时,我得到一个黑色填充的框,其中应该有绘图,而不是什么都没有。

我什么也没说,因为在单击按钮之前该表不会(IMO正确)显示。我期望绘图具有相同的行为,即在单击按钮之前,屏幕上显示的所有内容都是按钮。我究竟做错了什么?

library(shiny)

myUI = bootstrapPage(
actionButton(inputId="gobutton", label="Go"),
plotOutput("plot"),
tableOutput("table")
)

mySERVER = function(input, output) {
output$plot <- renderPlot({
if(input$gobutton==0) {return(NULL)}
hist(runif(100))
})
output$table <- renderTable({
if(input$gobutton==0) {return(NULL)}
data.frame(x=runif(10), y=seq(1:10))
})

}

runApp(list(
ui = myUI,
server = mySERVER
))

我正在使用 Firefox 和最新稳定的 R & Shiny。

> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
[1] LC_CTYPE=en_GB.utf8 LC_NUMERIC=C
[3] LC_TIME=en_GB.utf8 LC_COLLATE=en_GB.utf8
[5] LC_MONETARY=en_GB.utf8 LC_MESSAGES=en_GB.utf8
[7] LC_PAPER=en_GB.utf8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.utf8 LC_IDENTIFICATION=C

attached base packages:
[1] stats graphics grDevices utils datasets methods base

other attached packages:
[1] shiny_0.8.0

loaded via a namespace (and not attached):
[1] bitops_1.0-6 Cairo_1.5-5 caTools_1.16 digest_0.6.4 httpuv_1.2.2
[6] Rcpp_0.11.0 RJSONIO_1.0-3 tools_3.0.2 xtable_1.7-1

最佳答案

我认为这与开罗套餐有关。

我的系统没有安装 Cairo。如果我使用新的 R session 在 Firefox 中运行您的代码,则不会出现黑框(只有 GO 按钮)。

然后我安装并加载 Cairo。当我重新运行你的代码时,我得到了黑匣子。

然后我卸载 Cairo detach("package:Cairo", unload=T) :仍然出现黑匣子。

然后我重新启动 R 并运行您的代码:仍然是黑匣子。

然后我安装 Cairo remove.packages("Cairo") 并重新启动 R:没有黑匣子

因此,如果安装了 Shiny,它似乎会加载 Cairo,这就是导致黑匣子的原因。

关于r - Shiny - 将 NULL 返回到plotOutput 时出现黑框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21581859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com