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

基于ggbump绘图的路径热度可视化:按通行量着色需求

关联通行量的ggbump路径图表制作需求

需求说明

  • 制作ggbump风格图表,用于展示大量用户从起始节点到终点节点的路径通行情况
  • 将图表中的节点(行)视为城市,通行量越高的路径颜色越深,以此区分不同路径的流量差异

示例数据生成代码

以下是生成100条用户数据的R代码,包含5种预设路径及对应通行频率:

set.seed(123)  # 设置随机种子保证可复现性
df <- data.frame(matrix(ncol = 5, nrow = 100))
# 为数据框分配列名
colnames(df) <- c("User ID", "Stop 1", "Stop 2", "Stop 3", "Stop 4")

# 创建包含5种可选路径的列表(感谢@tjebo的建议)
paths <- list(c(1, 2, 3, 4), c(4, 4, 4, 3), c(3, 3, 2, 4), c(1, 3, 4, 2), c(1, 4, 2, 1))

# 为每条路径设置通行频率
path_frequencies <- c(50, 30, 10, 5, 5)

# 循环填充数据框
for (i in 1:nrow(df)) {
  # 分配当前行的用户ID
  df[i, "User ID"] <- i
  # 根据路径频率随机选择路径编号
  sample <- sample(1:5, size = 1, replace = TRUE, prob = path_frequencies / sum(path_frequencies))
  # 选择对应的路径
  path <- paths[[sample]]
  # 将路径赋值给当前行的站点列
  df[i, 2:5] <- path
}

待优化代码与问题

现有ggbump代码框架如下,需要修改以实现路径颜色深浅/线条粗细与通行人数关联(类似lavaan绘图的路径样式),可能需先对数据做格式转换(如group_by+mutate):

ggplot(df, aes(each stop, city (1:10), color = density function for path usage)) +
    geom_bump()

同时询问:是否可以编写单独函数统计各路径的通行次数,将其作为线条透明度的索引传入ggplot?


内容的提问来源于stack exchange,提问作者Conal Monaghan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 05:40:25