首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ggplot Sankey图,冲积层?

ggplot Sankey图,冲积层?
EN

Stack Overflow用户
提问于 2020-09-18 17:37:53
回答 1查看 237关注 0票数 0

我正在尝试使用冲积软件包(https://cran.r-project.org/web/packages/ggalluvial/vignettes/ggalluvial.html)在R中制作一个Sankey图。到目前为止,我可以复制我找到的许多示例。然而,我特别尝试复制一些我没有见过的使用冲积包的代码。

基本上,数据集表示到达一个站点的人(可以是任何人),一些人前往下一个站点,一些人失踪(因此被截断)。在冲积层软件包中,我想不出该怎么做。我已经附上了它应该是什么样子的快照(在http://sankeymatic.com/中制作)。

我想应该是相当基础的。我已经显示的图像中的另一件事是,我希望每个节点上缺失的个体条都是不同的颜色。

有人能给我展示一下我需要的代码和代码结构吗?

EN

回答 1

Stack Overflow用户

发布于 2021-04-20 20:39:05

您可以尝试使用package PantaRhei

代码语言:javascript
复制
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)

这为您提供了:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63953192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档