以闪亮的

时间:2018-06-18 15:55:53

标签: plot tabs shiny

我发现了一个关于如何动态添加标签的问题以及另一个如何动态添加标题的问题,但我无法想出如何同时使用这两个标签。

我想创建一个可变数量的选项卡(已完成),在每个选项卡中,我想调用一个绘图函数。主要问题是绘图共享相同的id,但我试图通过根据它们所属的选项卡修改它们来避免这个问题。 我拥有:当我打开第一个标签时,我可以根据需要修改显示的图表,但是当我打开一个新标签时,所有之前的标签都会显示最后一个标签图。 我想要的是:我希望能够独立修改每个标签上的每个图。

以下是代码:

全球

plot_all <- function(type_graph, numerical){

  if(type_graph == "Stacked"){
    plot(rnorm(numerical,2,1))

  }

  else{plot(iris$Sepal.Length)}
}

SERVER

tabIndex <- reactiveVal(0)
observeEvent(input$newTab, {
  tabIndex(tabIndex() + 1)
  appendTab("myTabs", tabPanel(paste("Plot",tabIndex()),

                               tagList(   

                                 numericInput("numerical", value = 5, min = 1, max=6),

                                 output[[paste("plot", tabIndex(), sep="_")]] <- renderPlot({

                                   plot_all(input[[paste("type_graph",tabIndex(), sep="_")]],
                                            input[[paste("numerical",tabIndex(), sep="_")]])
                                 })
                               ), select=TRUE
  ))
})

observeEvent(input$removeTab, {
  removeTab("myTabs", target=input$myTabs)
})

UI

mainPanel(

             fluidRow(
               actionLink("newTab", "Append tab"),
               actionLink("removeTab", "Remove current tab")
             ),
             tabsetPanel(id="myTabs", type="pills")
) 

0 个答案:

没有答案