在R应用程序中呈现存储在列表中的多个绘图
我想通过Shining应用程序渲染Plotlist中存储的条形图。我是Shiny的新手,需要帮助。守则:在R应用程序中呈现存储在列表中的多个绘图,r,shiny,R,Shiny,我想通过Shining应用程序渲染Plotlist中存储的条形图。我是Shiny的新手,需要帮助。守则: o<-list() for(i in 1:10){ Z3<-seq(1+i,10+i,1) o<-append(o,list(Z3)) } Plotlist <- vector(mode = "list", 10) for(i in 1:10){ s<-barplot(o[[i]],names.arg = paste("
o<-list()
for(i in 1:10){
Z3<-seq(1+i,10+i,1)
o<-append(o,list(Z3))
}
Plotlist <- vector(mode = "list", 10)
for(i in 1:10){
s<-barplot(o[[i]],names.arg = paste("A",1:10,sep = "_"),main=paste("Plot",i))
Plotlist[[i]]<-recordPlot()
}
library(shiny)
ui<-fluidPage(titlePanel("Plots in a list"),
sidebarPanel(selectInput("plot", "Choose Plot:", choices=paste("Plot",1:10)),hr(),helpText("Trial Plots"),
mainPanel(plotOutput("BARPLOT"))))
server<-function(input, output) {
output$BARPLOT<-renderPlot(for(i in 1:10){Plotlist[[i]]})
}
shinyApp(ui,server)
为了打印指定的绘图,您需要在renderplot内访问selectinput的选定值,这是通过添加{i完成的。找到了一个解决方案,谢谢Abdesabour Mtk
choices = 1:10
names(choices) <- paste("Plot",1:10)
shinyApp(
ui = fluidPage(
titlePanel("Plots in a list"),
sidebarPanel(
selectInput("plot", "Choose plot:", choices=choices),
hr(),
helpText("Trail plots")),
plotOutput("barplot")
),
server = function(input, output) {
output$barplot<-renderPlot({
i<- as.integer(input$plot)
Plotlist[[i]]
})
}
)
您可以将数据保存到列表中,然后生成绘图