R语言如何按指定日期生成对应DR求和值的散点图
R实现指定日期生成DR列求和散点图的代码
以下提供两种可直接运行的方案,按需选择即可:
方案1:手动指定日期生成
只需修改target_date参数即可输出对应日期的散点图,适合固定日期出图的场景:
首先加载依赖包(未安装的先运行install.packages("tidyverse")):
library(tidyverse)
然后运行主代码:
# 替换为你需要的目标日期 target_date <- "2021-08-02" # 数据筛选+DR列求和处理 plot_data <- df %>% filter(date == target_date) %>% summarise(across(starts_with("DR"), sum)) %>% pivot_longer(cols = everything(), names_to = "DR类别", values_to = "求和值") # 生成散点图 ggplot(plot_data, aes(x = `DR类别`, y = `求和值`)) + geom_point(size = 3, color = "#2c7fb8") + ggtitle(paste0(target_date, " DR列求和值散点图")) + theme_minimal()
方案2:交互式选择日期生成
不用反复修改代码,运行后可下拉选择任意存在的日期自动出图,适合频繁切换日期查看的场景:
library(shiny) library(tidyverse) # 提前预处理全量数据,提升交互响应速度 preprocessed_data <- df %>% group_by(date) %>% summarise(across(starts_with("DR"), sum)) %>% pivot_longer(cols = starts_with("DR"), names_to = "DR类别", values_to = "求和值") # 极简交互页面 ui <- fluidPage( selectInput("picked_date", "选择日期:", choices = unique(df$date)), plotOutput("scatter") ) server <- function(input, output) { output$scatter <- renderPlot({ preprocessed_data %>% filter(date == input$picked_date) %>% ggplot(aes(x = `DR类别`, y = `求和值`)) + geom_point(size = 3, color = "#2c7fb8") + ggtitle(paste0(input$picked_date, " DR列求和值散点图")) + theme_minimal() }) } # 启动交互程序 shinyApp(ui, server)
内容的提问来源于stack exchange,提问作者Antonio
相关产品推荐
相关产品推荐

