有人要求在绘图中添加动态数量的记录道.这是基于最近被删除的question条.我希望下面的答案能帮助其他正在寻找类似情况答案的人.

推荐答案

如上所述,这是我之前答案here的副本.

然而,@YBS的方法过于复杂,我想提供直接比较的可能性.对于ggplotplotly,最好使用长格式的data.frame(例如,使用data.table::melt从宽转换为长).这样,我们可以使用plot_lysplitnamecolor参数基于数据创建多条记录道:

library(shiny)
library(shinydashboard)
library(plotly)
library(gapminder)

DF <- gapminder[, c(1, 3, 4)]

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(
    selectizeInput(
      "col",
      "Pick a column for y-axis to plot, if ticked in checkbox below",
      choices = NULL,
      selected = NULL,
      multiple = TRUE
    ),
    checkboxGroupInput("chk", "Display Plot", choices = DF$country[1])
  ),
  dashboardBody(tabsetPanel(id = "tabs",
                            tabPanel(
                              "Plot data" , plotlyOutput("tseries")
                            )))
)

server <- function(input, output, session) {
  freezeReactiveValue(input, "col")
  
  # server-side selectize for improved performance
  updateSelectizeInput(
    session,
    "col",
    choices = DF$country,
    selected = DF$country[1],
    server = TRUE
  )
  
  observeEvent(input$col, {
    updateCheckboxGroupInput(
      session,
      "chk",
      "Select item to plot",
      choices = input$col,
      selected = input$col
    )
  })
  
  output$tseries <- renderPlotly({
    if (is.null(input$chk)) {
      plotly_empty(type = 'scatter', mode = 'lines')
    } else {
      plot_ly(
        DF[DF$country %in% input$chk, ],
        type = 'scatter',
        mode = 'lines',
        x = ~ year,
        y = ~ lifeExp,
        split = ~ country
      )
    }
  })
}

shinyApp(ui, server)

R相关问答推荐

使用long()在dØr中过滤后获取元素数量

feature_weights参数没有影响Xgboost

如何替换某个字符的所有出现,但如果该字符是字符串中的第一个,则不替换?

使用facet_wrap()时如何将面板标题转换为脚注?

self_函数无法工作--无法子集结束后的列

在R中列表的结尾添加数字载体

计算R中的威布尔分布的EDF

为什么st_join(ob1,ob2,left = True)返回具有比ob1更多功能的sf对象?

使用gcuminc,如何使用逗号格式化风险表?

如何在R中对深度嵌套的tibbles中的非空连续行求和?

R-更新面内部的栅格值

如何使用列表中多个列表中的第一条记录创建数据框

从一个列表的框架中移除列表包装器

计算直线上点到参考点的总距离

使用未知字符数(不受限制的最大长度)的Lookback有什么好的替代方案?

如何计算增加10米(0.01公里)的行?

SHILINY中DT列的条件着色

整理ggmosaic图的标签

按镜像列值自定义行顺序

如何使用ggplot2根据绘图中生成的斜率对小平面进行排序?