【发布时间】:2018-06-13 19:50:29
【问题描述】:
我想以闪亮的形式保存/下载我的barplots。我用ggplot 和ggsave 做到了,这是可能的,但我怎么能用barplot() 做到这一点?我在ui.R 中的代码是:
library(shiny)
library(shinydashboard)
library(ggplot2)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
box(
title = "",
status = "danger",
solidHeader = TRUE,
plotOutput(outputId = "myPlotMdata1")
),
box(
title = "",
status = "danger",
solidHeader = TRUE,
plotOutput(outputId = "myPlotMdata2")
),
box(
title = "",
status = "danger",
solidHeader = TRUE,
plotOutput(outputId = "myPlotMdata3")
),
box(
title = "",
status = "danger",
solidHeader = TRUE,
plotOutput(outputId = "myPlotMdata4")
),
box(
title = "Download",
status = "success",
solidHeader = TRUE,
width = 12,
radioButtons("formatTopwords", "Document format", c("PNG"="png", "EPS"="eps", "PDF"="pdf"), inline = TRUE),
downloadButton("downloadReportTopwords")
)
)
)
server <- function(input, output) {
output$myPlotMdata1 <- renderPlot({
barplot(TopWords$lassoInfPos, las = 2, names.arg = TopWords$informedPos, main = "Informed Investor Top 15 positive words", ylab = "Lasso coefficient")
})
output$myPlotMdata2 <- renderPlot({
barplot(TopWords$lassoNoisePos , las = 2, names.arg = TopWords$noisePos, main = "Noise Investor Top 15 positive words", ylab = "Lasso coefficient")
})
output$myPlotMdata3 <- renderPlot({
barplot(TopWords$lassoInfNeg, las = 2, names.arg = TopWords$informedNeg, main = "Informed Investor Top 15 negative words", ylab = "Lasso coefficient")
})
output$myPlotMdata4 <- renderPlot({
barplot(TopWords$lassoNoiseNeg, las = 2, names.arg = TopWords$noiseNeg, main = "Noise Investor Top 15 negative words", ylab = "Lasso coefficient")
})
fn <- reactive({paste("Plot",input$formatTopwords,sep = ".")})
d <- reactive({input$formatTopwords})
output$downloadReportTopwords <- downloadHandler(
filename = fn,
content = function(file) {
#ggsave I use for another function, how can I save barplots here
ggsave(file, device=d(), dpi = 600, width = 297, height = 210, units = "mm")
}
)
}
shinyApp(ui, server)
【问题讨论】:
-
您的应用程序不可重现,没有数据也没有条形图。你能包括一些虚拟数据吗..
-
@SeGa 立即查看。但重要的任务是情节的下载。我的数据框包含 70.000 行,所以我不能包含虚拟数据
-
我知道,但是如果没有一个正常运行的应用程序,每个人都必须编写自己的虚拟数据来检查它是否工作,除非有人已经有了解决方案。无需添加您的 data.frame,只需创建一个随机的,可能只有一个数字列并且只包含一个条形图。这样可以更轻松地浏览代码并专注于重要的事情。
标签: r download shiny bar-chart