R Shiny - Wordcloud2 打破下载按钮

R Shiny - Wordcloud2 breaking downloadButton

我想创建几个词云,使用 wordcloudwordcloud2 包。 我可以为 wordcloud 包创建的 wordcloud 创建一个下载,但是一旦我呈现 wordcloud2-wordcloud,下载按钮就会中断(只允许下载 .html 而不是.png).

我添加了一个示例来重现它:

library("shiny")
library("wordcloud")
library("wordcloud2")
library("tm")

ui <- fluidPage(plotOutput("plot1"), downloadButton('plot1download'))

server <- function(input, output, session) {
  output$plot1 <- renderPlot({
    wordcloud(data(crude))
  })
  output$plot2 <- renderWordcloud2({
    wordcloud2(demoFreq)
  })
  output$plot1download <- downloadHandler(
    filename = function() {
      paste('wordcloud', '.png', sep='')
    },
    content = function(file) {
      device <- function(..., width, height) grDevices::png(...)
      ggsave(file, plot = wordcloud(data(crude)), device = device)
    }
  )
}

shinyApp(ui, server)

上面的代码有效,但如果我添加另一个图 (plotOutput("plot2")),它会中断:

library("shiny")
library("wordcloud")
library("wordcloud2")
library("tm")

ui <- fluidPage(plotOutput("plot1"), downloadButton('plot1download'), wordcloud2Output("plot2"))

server <- function(input, output, session) {
  output$plot1 <- renderPlot({
    wordcloud(data(crude))
  })
  output$plot2 <- renderWordcloud2({
    wordcloud2(demoFreq)
  })
  output$plot1download <- downloadHandler(
    filename = function() {
      paste('wordcloud', '.png', sep='')
    },
    content = function(file) {
      device <- function(..., width, height) grDevices::png(...)
      ggsave(file, plot = wordcloud(data(crude)), device = device)
    }
  )
}

shinyApp(ui, server)

有人知道为什么会发生这种情况以及如何解决这个问题吗?

这似乎是 wordcloud2 的 CRAN 版本中的一个错误。使用 GitHub 安装开发版本 remotes::install_github("lchiffon/wordcloud2") 进行修复。