【问题标题】:I need to graph using different columns that can be selected,我需要使用可以选择的不同列来绘制图表,
【发布时间】:2021-03-28 07:23:17
【问题描述】:

我已经创建了带有选项的框,但我不知道如何根据所选列更改图形,我需要 y exe 为output$SelectTiempo,图形的颜色为@987654323 @,如果您有其他一些您认为可以帮助我的建议,我真的很感激

服务器

output$Selectproce<-renderUI({
  selectInput("Selectproce", "Seleccione Procedimiento",
              BDnuevo$procedureCodes.0.name, multiple = T, selected = TRUE)
})

BD6.2<-reactive({
  BDnuevo %>%
    filter(procedureCodes.0.name %in% input$Selectproce)
})

output$SelectProfesional<-renderUI({
  selectInput("SelectProfesional", "Seleccione perfil",
              choices = c("Inversionistas"="FullnameI" , "Deudores"="FullnameD", "Autores"="FullnameA")
              )
})

output$SelectTiempo <-renderUI({
  selectInput("SelectTiempo", "Seleccione indicador",
              choices = c( "TiempoR" = "RoomList", "TiempoS"="SpacioTime"))
})


Fechasd<-reactive({
  BD6.3<-BD6.2()
  unique(BD6.3$simpleOriginDate)
})
output$RandeDated<-renderUI({
  dateRangeInput('dateRange6',
                 label = 'Seleccione un rango',
                 start = min(Fechasd(),na.rm=T), max(Fechasd(),na.rm=T)
                 )
})
BD6.4<-reactive({
  BD6.5<-BD6.2()
  BD6.5 %>%
    filter(simpleOriginDate >= input$dateRange6[1] &
             simpleOriginDate <= input$dateRange6[2])
})
output$lineplotTS <- renderPlot({
  BD6.5<-BD6.4()
  subset (BD6.5,BD6.5$times.simpleMinutesRecoverTime >=1 &
                  BD6.5$times.simpleMinutesRecoverTime <= 1000) %>%
    ggplot(aes(x = simpleOriginDate, y =??????????????????? , colour = ?????????????)) +
    geom_point() +
    scale_x_date(date_breaks = "1 month", date_labels =  "%b %Y") +
    theme(axis.text.x=element_text(angle=45, hjust=1))
})

【问题讨论】:

  • ErikaC,我建议对您的代码进行编辑,原因有两个:(1)它在语法上无效,其中连续的行/表达式被合并到一行中,而没有 ; 来分隔它们,因此 errosr ; (2) 当所有内容都以&gt; 开头时,它更难使用,所以我将它们全部删除(主要是方便,一点可读性)。希望清楚。
  • 欢迎来到 SO!请提供一个minimal reproducible example,即一个最小的、完整的(也是ui部分)运行闪亮的应用程序和一些示例数据(输出为dput),这样更容易帮助你。谢谢!

标签: r shiny shiny-server


【解决方案1】:

通过以下方式轻松连接 ggplot 与闪亮的输入:

[首选方法] 将输入包装在 .data[[ ... ]] 中,例如y = .data[[input$SelectTiempo]]

[不推荐使用的方法] 使用 aes_string 而不是 aes。然后在常规变量上使用引号(例如x = "simpleOriginDate"),并以这种方式引用输入:y = input$SelectTiempo

【讨论】:

  • 我认为这是不推荐使用的,现在推荐的方法是使用aes.data,例如aes(y = .data[[input$SelectTiempo]])
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-26
  • 2020-11-12
  • 1970-01-01
  • 2015-04-08
  • 1970-01-01
  • 2016-12-01
  • 2023-03-31
相关资源
最近更新 更多