You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于问卷数据绘制累计应答数随时间变化曲线

问卷累计应答数量可视化(R语言实现)

步骤1:数据预处理

先把日期转换为可识别的时间格式,统计每日新增应答数并计算累计值:

# 加载依赖包
library(dplyr)
library(ggplot2)

# 示例数据集
d <- data.frame(
    id = c(1, 2, 3, 4),
    date = c("2023-01-01", "2023-01-01", "2023-01-02", "2023-01-03"),
    age = c(22, 26, 19, 31),
    another_question = c("answer 1", "answer 2", "answer 1", "answer 3")
)

# 生成累计统计数据
cumulative_data <- d %>%
  mutate(date = as.Date(date)) %>%  # 转换日期格式
  count(date, name = "daily_responses") %>%  # 统计每日应答数
  arrange(date) %>%  # 按日期排序
  mutate(cumulative_responses = cumsum(daily_responses))  # 计算累计应答数

步骤2:绘制累计应答曲线

用ggplot2绘制折线图,同时标记出应答人数最多的日期:

# 定位应答峰值日期
peak_date <- cumulative_data %>%
  filter(daily_responses == max(daily_responses))

# 生成可视化图形
ggplot(cumulative_data, aes(x = date, y = cumulative_responses)) +
  geom_line(color = "#2c3e50", linewidth = 1.2) +  # 累计趋势线
  geom_point(size = 3, color = "#3498db") +  # 每日累计值标记点
  # 标注峰值日期及对应数量
  geom_text(data = peak_date, 
            aes(label = paste("峰值:", daily_responses, "份")),
            vjust = -1.2, color = "#e74c3c", fontface = "bold") +
  # 可选:标注每日新增应答数
  geom_text(aes(label = daily_responses), vjust = 1.5, size = 3.5) +
  # 设置图表标题与坐标轴标签
  labs(title = "问卷累计应答数量趋势",
       x = "日期",
       y = "累计应答人数") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, size = 14, face = "bold"))

效果说明

  • 折线图清晰展示累计应答数随时间的增长趋势
  • 红色加粗文本标记出应答人数最多的日期及对应数量
  • 可选的每日新增数标注,能让读者快速了解各日期的应答活跃度

内容的提问来源于stack exchange,提问作者Michael Marx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 08:17:20