我正在尝试使用冲积软件包(https://cran.r-project.org/web/packages/ggalluvial/vignettes/ggalluvial.html)在R中制作一个Sankey图。到目前为止,我可以复制我找到的许多示例。然而,我特别尝试复制一些我没有见过的使用冲积包的代码。
基本上,数据集表示到达一个站点的人(可以是任何人),一些人前往下一个站点,一些人失踪(因此被截断)。在冲积层软件包中,我想不出该怎么做。我已经附上了它应该是什么样子的快照(在http://sankeymatic.com/中制作)。
我想应该是相当基础的。我已经显示的图像中的另一件事是,我希望每个节点上缺失的个体条都是不同的颜色。
有人能给我展示一下我需要的代码和代码结构吗?

发布于 2021-04-20 20:39:05
您可以尝试使用package PantaRhei
library(PantaRhei)
library(tibble)
library(grid)
# define node position
nodes <-
tribble(
~ID, ~label, ~x, ~y, ~label_pos,
"s1", "Station 1", "1", "0", "below",
"s2a", "Station 2: arrived", "2", "0.1", "above",
"s2m", "Station 2: missing", "2", "s1", "below",
"s3a", "Station 3: arrived", "3", "0.2", "above",
"s3m", "Station 3: missing", "3", "s2a", "below",
"s4a", "Station 4: arrived", "4", "0.3", "above",
"s4m", "Station 4: missing", "4", "s3a", "below",
"s5a", "Station 5: arrived", "5", "0.4", "above",
"s5m", "Station 5: missing", "5", "s4a", "below"
)
# define size of flows
flows <-
tribble(
~from, ~to, ~substance, ~quantity,
"s1", "s2a", "a", 80,
"s1", "s2m", "m", 20,
"s2a", "s3a", "a", 60,
"s2a", "s3m", "m", 20,
"s3a", "s4a", "a", 35,
"s3a", "s4m", "m", 25,
"s4a", "s5a", "a", 15,
"s4a", "s5m", "m", 20
)
# define flow colours
colors <- tribble(
~substance, ~color,
"a", "green",
"m", "red"
)
# node formating
ns <- list(type = "bar",
gp=gpar(fill = "lightblue", col = "white", lwd = 1),
mag_pos = "inside",
mag_fmt = "%.0f")
# final sankey image
sankey(nodes, flows, colors, node_style = ns)这为您提供了:

https://stackoverflow.com/questions/63953192
复制相似问题