在 Shinydashboard 中渲染 ggplot 时出现致命错误
Posted
技术标签:
【中文标题】在 Shinydashboard 中渲染 ggplot 时出现致命错误【英文标题】:Fatal error when rendering ggplot in shinydashboard 【发布时间】:2021-11-15 12:02:56 【问题描述】:在闪亮仪表板中渲染 ggplot 时出现 R 致命错误(重磅炸弹 -> 重新启动会话)。基本 hist
绘图的渲染工作得很好,但是使用 ggplot,它开始渲染仪表板,然后是滑块框,一个空框,用于 ggplot 应该在的位置,然后崩溃。
这是我尝试渲染的应用程序的代码,对shinydashboard tutorial 稍作修改:
## app.R ##
library(shinydashboard)
library(ggplot2)
ui <- dashboardPage(
dashboardHeader(title = "Basic dashboard"),
dashboardSidebar(),
dashboardBody(
# Boxes need to be put in a row (or column)
fluidRow(
box(plotOutput("plot1", height = 250)),
box(
title = "Controls",
sliderInput("slider", "Number of observations:", 1, 100, 50)
)
)
)
)
server <- function(input, output)
set.seed(122)
histdata <- rnorm(500)
output$plot1 <- renderPlot(
data <- data.frame(y = histdata[seq_len(input$slider)])
ggplot(data, aes(x=y)) + geom_histogram()
#hist(data$y)
)
shinyApp(ui, server)
我尝试添加library(Cairo)
,但没有成功。顺便说一句,ggplot 在我不光彩的 Rstudio 环境中运行良好。这是我的会话信息:
─ Session info ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
setting value
version R version 4.1.1 (2021-08-10)
os Ubuntu 20.04.3 LTS
system x86_64, linux-gnu
ui RStudio
language en_AU:en
collate en_AU.UTF-8
ctype en_AU.UTF-8
tz Australia/Hobart
date 2021-09-22
─ Packages ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
package * version date lib source
assertthat 0.2.1 2019-03-21 [1] CRAN (R 4.0.0)
bslib 0.3.0 2021-09-02 [1] CRAN (R 4.1.1)
cachem 1.0.6 2021-08-19 [1] CRAN (R 4.1.1)
Cairo 1.5-12 2020-04-11 [1] CRAN (R 4.0.0)
callr 3.7.0 2021-04-20 [1] CRAN (R 4.1.0)
cli 3.0.1 2021-07-17 [1] CRAN (R 4.1.0)
colorspace 2.0-2 2021-06-24 [1] CRAN (R 4.1.1)
crayon 1.4.1 2021-02-08 [1] CRAN (R 4.1.0)
DBI 1.1.1 2021-01-15 [1] CRAN (R 4.1.1)
desc 1.2.0 2018-05-01 [1] CRAN (R 4.0.0)
devtools 2.3.2 2020-09-18 [1] CRAN (R 4.0.3)
digest 0.6.27 2020-10-24 [1] CRAN (R 4.1.0)
dplyr 1.0.7 2021-06-18 [1] CRAN (R 4.1.0)
ellipsis 0.3.2 2021-04-29 [1] CRAN (R 4.1.0)
evaluate 0.14 2019-05-28 [1] CRAN (R 4.1.0)
fansi 0.5.0 2021-05-25 [1] CRAN (R 4.1.0)
fastmap 1.1.0 2021-01-25 [1] CRAN (R 4.1.1)
fs 1.4.1 2020-04-04 [1] CRAN (R 4.0.0)
generics 0.1.0 2020-10-31 [1] CRAN (R 4.1.0)
ggplot2 * 3.3.5 2021-06-25 [1] CRAN (R 4.1.1)
glue 1.4.2 2020-08-27 [1] CRAN (R 4.1.0)
gtable 0.3.0 2019-03-25 [1] CRAN (R 4.0.0)
htmltools 0.5.2 2021-08-25 [1] CRAN (R 4.1.1)
httpuv 1.5.4 2020-06-06 [1] CRAN (R 4.0.3)
jquerylib 0.1.4 2021-04-26 [1] CRAN (R 4.1.1)
jsonlite 1.7.2 2020-12-09 [1] CRAN (R 4.1.0)
knitr 1.33 2021-04-24 [1] CRAN (R 4.1.0)
later 1.1.0.1 2020-06-05 [1] CRAN (R 4.0.3)
lifecycle 1.0.0 2021-02-15 [1] CRAN (R 4.1.0)
magrittr 2.0.1 2020-11-17 [1] CRAN (R 4.1.0)
memoise 1.1.0 2017-04-21 [1] CRAN (R 4.0.0)
mime 0.11 2021-06-23 [1] CRAN (R 4.1.1)
munsell 0.5.0 2018-06-12 [1] CRAN (R 4.1.0)
pillar 1.6.2 2021-07-29 [1] CRAN (R 4.1.0)
pkgbuild 1.1.0 2020-07-13 [1] CRAN (R 4.0.2)
pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.1.0)
pkgload 1.1.0 2020-05-29 [1] CRAN (R 4.0.0)
prettyunits 1.1.1 2020-01-24 [1] CRAN (R 4.0.0)
processx 3.5.2 2021-04-30 [1] CRAN (R 4.1.0)
promises 1.1.1 2020-06-09 [1] CRAN (R 4.0.3)
ps 1.6.0 2021-02-28 [1] CRAN (R 4.1.0)
purrr 0.3.4 2020-04-17 [1] CRAN (R 4.1.0)
R6 2.5.1 2021-08-19 [1] CRAN (R 4.1.1)
Rcpp 1.0.7 2021-07-07 [1] CRAN (R 4.1.0)
remotes 2.2.0 2020-07-21 [1] CRAN (R 4.0.3)
rlang 0.4.11 2021-04-30 [1] CRAN (R 4.1.0)
rmarkdown 2.11 2021-09-14 [1] CRAN (R 4.1.1)
rprojroot 2.0.2 2020-11-15 [1] CRAN (R 4.0.3)
rsconnect 0.8.16 2019-12-13 [1] CRAN (R 4.0.2)
rstudioapi 0.13 2020-11-12 [1] CRAN (R 4.1.0)
sass 0.4.0 2021-05-12 [1] CRAN (R 4.1.1)
scales 1.1.1 2020-05-11 [1] CRAN (R 4.1.0)
sessioninfo 1.1.1 2018-11-05 [1] CRAN (R 4.0.0)
shiny * 1.6.0 2021-01-25 [1] CRAN (R 4.1.1)
shinydashboard * 0.7.1 2018-10-17 [1] CRAN (R 4.1.1)
testthat 3.0.1 2020-12-17 [1] CRAN (R 4.0.3)
tibble 3.1.4 2021-08-25 [1] CRAN (R 4.1.1)
tidyselect 1.1.1 2021-04-30 [1] CRAN (R 4.1.0)
usethis 2.0.1 2021-02-10 [1] CRAN (R 4.1.0)
utf8 1.2.2 2021-07-24 [1] CRAN (R 4.1.0)
vctrs 0.3.8 2021-04-29 [1] CRAN (R 4.1.0)
withr 2.4.2 2021-04-18 [1] CRAN (R 4.1.1)
xfun 0.25 2021-08-06 [1] CRAN (R 4.1.1)
xtable 1.8-4 2019-04-21 [1] CRAN (R 4.0.0)
yaml 2.2.1 2020-02-01 [1] CRAN (R 4.1.0)
[1] /home/xxxxxx/R/x86_64-pc-linux-gnu-library/4.1
[2] /usr/local/lib/R/site-library
[3] /usr/lib/R/site-library
[4] /usr/lib/R/library
任何帮助将不胜感激。
干杯,EKS
【问题讨论】:
你的代码对我来说很好 - 在 Windows 上。 在 MacOS 上添加library(shiny)
后也适用于我。启动应用程序后,可以尝试在浏览器中打开。
谢谢大家。我怀疑这个问题可能与我的 ubuntu 系统中缺少的库有关。我想知道是否有人经历过类似的事情。我更新了大部分 R 包,但问题仍然存在。
【参考方案1】:
可能是geom_histogram()
的问题,尝试向其中添加垃圾箱
output$plot1 <- renderPlot(
req(input$slider)
data <- data.frame(y = histdata[seq_len(input$slider)])
ggplot(data, aes(x=y)) + geom_histogram(bins=30)
)
【讨论】:
谢谢!。我尝试了您的建议,但仍然无法正常工作。事实上,它不适用于任何 ggplot 几何图形 我已经在我自己的闪亮服务器上对此进行了测试,一切正常,使用shiny1.6
谢谢@Pork-Chop。您能否发布您的会话信息以查看我这边的包裹是否存在问题,或者将其与我在原始帖子中发布的会话信息进行比较。
你能看一下打印的日志吗,它们应该在/var/log/shiny-server.log
以上是关于在 Shinydashboard 中渲染 ggplot 时出现致命错误的主要内容,如果未能解决你的问题,请参考以下文章
使用shinydashboard和shinyjs在tabBox中启动时隐藏tabPanel