繁体   English   中英

r 中的多个图与 r 中的过滤器

[英]multiple plots in r with filter in r

早上好,

我试图用我的代码设置多个图。 目前我只能绘制一个复选框输入数据

any1 有没有想法如何更改我的服务器代码,以便它可以在一个图中绘制多个图形?

这是我工作的图片 atm https://i.stack.imgur.com/M6xcz.png

提前致谢

    ui <- fluidPage(
    titlePanel("Corona Testungszahlen"),
    sidebarLayout(
        sidebarPanel( h5("Hier koennen sie die Wochenspanne auswaehlen:"),
                      sliderInput("Wocheninput", "Kalenderwoche",11, 75, c(25, 40)),
                      uiOutput("slider"),
                      
                      checkboxGroupInput("plots", "Waehlen sie ihre Daten:", 
                                         choices=list("Anzahl_Testungen","Positiv_Getestet","Positivanteil_Prozent"), 
                                         selected="Anzahl_Testungen")),
        mainPanel(
            plotOutput("PLOT")
        )
    )
)


 server <- function(input, output) {
     output$PLOT <- renderPlot({
         filtered <-
             Daten %>%
             filter(Woche >= input$Wocheninput[1],
                    Woche <= input$Wocheninput[2]
             )
         ggplot(filtered, aes(Woche, .data[[input$plots]])) +
             geom_line(color="blue", size=1.2)
     })
 }
 

以长格式获取数据并筛选要绘制的列。 在 ggplot 代码中将列名指定为color

library(tidyverse)
library(shiny)

cols <- c("Anzahl_Testungen","Positiv_Getestet","Positivanteil_Prozent") 

ui <- fluidPage(
  titlePanel("Corona Testungszahlen"),
  sidebarLayout(
    sidebarPanel( h5("Hier koennen sie die Wochenspanne auswaehlen:"),
                  sliderInput("Wocheninput", "Kalenderwoche",11, 75, c(25, 40)),
                  uiOutput("slider"),
                  
                  checkboxGroupInput("plots", "Waehlen sie ihre Daten:", 
                                     choices=cols,
                                     selected="Anzahl_Testungen")),
    mainPanel(
      plotOutput("PLOT")
    )
  )
)

server <- function(input, output) {
  output$PLOT <- renderPlot({
    filtered <-
      Daten %>%
      filter(Woche >= input$Wocheninput[1],
             Woche <= input$Wocheninput[2]
      ) %>%
      select(Woche, cols) %>%
      pivot_longer(cols = -Woche) %>%
      filter(name %in% input$plots)
    
    ggplot(filtered, aes(Woche, value, color = name)) +
      geom_line(size=1.2)
  })
}

shinyApp(ui, server)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM