Shining*for*循环自动下载绘图
我对shiny还很陌生,我正在尝试制作一个shiny应用程序,它允许用户通过一个简单的下载按钮下载某个数据的所有可能组合 然而,shiny似乎不允许我在shiny之外使用的标准Shining*for*循环自动下载绘图,r,loops,for-loop,ggplot2,shiny,R,Loops,For Loop,Ggplot2,Shiny,我对shiny还很陌生,我正在尝试制作一个shiny应用程序,它允许用户通过一个简单的下载按钮下载某个数据的所有可能组合 然而,shiny似乎不允许我在shiny之外使用的标准for循环 所以基本上,我试图用这些可复制的数据来让用户下载所有9个可能的散点图(1,1)、(1,2)、(1,3)等等 我尝试过使用lapply、isolate、local等,但它很简单,要么生成3个相同的绘图,要么就不能像当前代码那样工作 非常非常感谢您的帮助 先谢谢你 这是我当前的用户界面 #UI library(sh
for循环
所以基本上,我试图用这些可复制的数据来让用户下载所有9个可能的散点图(1,1)、(1,2)、(1,3)
等等
我尝试过使用lapply、isolate、local等,但它很简单,要么生成3个相同的绘图,要么就不能像当前代码那样工作
非常非常感谢您的帮助
先谢谢你
这是我当前的用户界面
#UI
library(shiny)
library(datasets)
library(ggplot2)
Test1<- c(3,5,7)
Test2<- c(21000, 23400, 26800)
Test3<- c(600, 700, 800)
df <- data.frame(Test1, Test2, Test3)
rownames(df)<-colnames(df)
*ui <- shinyUI(fluidPage(
titlePanel("Column Plot"),
tabsetPanel(
tabPanel("First Type",
pageWithSidebar(
headerPanel('My First Plot'),
sidebarPanel(
selectInput('xcol', 'X Variable', ""),
selectInput('ycol', 'Y Variable', "", selected = ""),
actionButton(inputId = "clicks_3",label = "Real"),
),
mainPanel(
plotOutput('MyPlot')
)
)
)
)
)
)
#用户界面
图书馆(闪亮)
图书馆(数据集)
图书馆(GG2)
Test1如果您想下载所有绘图,我建议使用降价报告解决方案。在这里,您可以使用lappy并迭代所有绘图。看
在您的代码中,括号似乎不正确,请参阅下面的部分了解解决方案
observeEvent(input$clicks_3,{
for (i in 1:3){
assign(paste("Plotinput_",i,sep = ""),({
x <- data()[, c(colnames(data())[i], input$ycol)]
plot(x)
}))
}
lapply(1:3, function(k){local({
ggsave(plot = eval(parse(text=paste("Plotinput_",k,sep = ""))),filename = paste(k,"barplot.png",collapse = ""))
})
})
})
observeEvent(输入$clicks\u 3{
(我在1:3中){
分配(粘贴(“Plotinput”,i,sep=”“)({
非常感谢您的建议,它非常有效:),第一次使用降价,但似乎非常方便。欢迎您。如果它解决了您的问题,请接受我的回答
observeEvent(input$clicks_3,{
for (i in 1:3){
assign(paste("Plotinput_",i,sep = ""),({
x <- data()[, c(colnames(data())[i], input$ycol)]
plot(x)
}))
}
lapply(1:3, function(k){local({
ggsave(plot = eval(parse(text=paste("Plotinput_",k,sep = ""))),filename = paste(k,"barplot.png",collapse = ""))
})
})
})