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

如何用geom_line绘制随Days_Elapsed递增的密码累计计数折线图

密码注册累计数量折线图实现方案

步骤1:加载必要的R包

我们需要用dplyr做数据处理,ggplot2绘图,先加载这两个包:

library(dplyr)
library(ggplot2)

步骤2:预处理数据(补全天数+计算累计值)

原数据缺少部分天数的记录(比如第2、3、6天),我们需要先补全所有天数,再统计每天的注册数,最后计算累计数量:

# 生成从第1天到最大天数的完整序列
full_days <- data.frame(Days_Elapsed = 1:max(df$Days_Elapsed))

# 统计每天的注册数,缺失天数的注册数设为0
daily_registrations <- df %>%
  count(Days_Elapsed, name = "Daily_Count") %>%
  right_join(full_days, by = "Days_Elapsed") %>%
  mutate(Daily_Count = ifelse(is.na(Daily_Count), 0, Daily_Count))

# 计算累计注册数量
cumulative_registrations <- daily_registrations %>%
  mutate(Cumulative_Count = cumsum(Daily_Count))

步骤3:绘制折线图

用geom_line绘制折线,同时可以用点标记有注册行为的日期,让图表更清晰:

ggplot(cumulative_registrations, aes(x = Days_Elapsed, y = Cumulative_Count)) +
  geom_line(color = "#2c3e50", linewidth = 1.2) +
  geom_point(data = filter(cumulative_registrations, Daily_Count > 0),
             color = "#e74c3c", size = 2.5) +
  labs(title = "密码注册累计数量趋势",
       x = "已过天数",
       y = "累计注册数量") +
  theme_bw()

运行上述代码后,得到的折线图会在无注册的天数保持水平,有注册的天数则对应上升,完全匹配你描述的需求(比如第1天累计3,第2、3天保持3,第4天升至5,以此类推)。

内容的提问来源于stack exchange,提问作者Stats Iliterate

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:45:23