【发布时间】:2021-11-02 05:42:45
【问题描述】:
为了将绘图保存为 png 或 svg 在服务器中添加什么?
ggsave 可以与 ggtern 一起使用吗? (这是对三元图的 ggplot 的扩展)
这是我在 Shiny 中尝试做的最小可重现示例:
library(shiny)
library(ggtern)
library(tidyverse)
ui <- fluidPage(
downloadButton("dwnld", label = "Save plot"),
plotOutput("ternary")
)
server <- function(input, output) {
# ternary plot via ggtern
output$ternary <- renderPlot({
data <- tibble(x = 0.2, y = 0.3, z = 0.5)
plot <- ggtern(data, aes(x = x, y = y, z = z)) + geom_point(size = 8)
print(plot)
})
# download the plot
#????????
}
shinyApp(ui = ui, server = server)
【问题讨论】:
-
什么是
plotInput? -
请修剪您的代码,以便更容易找到您的问题。请按照以下指南创建minimal reproducible example。
-
对不起,我将修复代码以使其可重现。谢谢
-
我认为
ggsave()应该可以工作。我无法测试这段代码,因为shinyApp只是挂在我身上(我不知道那是因为你遗漏了什么还是因为我在一个有趣的环境中工作(Emacs,而不是 RStudio,R 的开发版本,Linux ...) -- 我不经常做闪亮的东西。 -
@BenBolker 这很奇怪,它在我的机器上运行。我试过使用
ggsave(),但没有用。我实际上不确定在服务器端的 downloadHandler 对象中放入什么。