【发布时间】:2020-02-04 17:10:07
【问题描述】:
我想创建几个 wordcloud,使用 wordcloud 和 wordcloud2 包。
我可以为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)
有人知道为什么会发生这种情况以及如何解决这个问题吗?
【问题讨论】:
-
在
ui中有两个plotOutput,但在server中有一个renderPlot和一个renderWordcloud2。也许这会导致问题 -
@bretauv 我在创建示例时犯了一个错误,它当然必须是
wordcloud2Output("plot2"),我已经在问题文本中更改了它。
标签: r shiny wordcloud2