如何在Sankey图中垂直更改节点的位置

时间:2019-04-06 14:03:01

标签: r position nodes sankey-diagram

如何垂直(在Y轴上)更改Sankey图中节点的位置,使其位于上一个节点的中间/中央而不是底部?

我的数据集:

> dput(final_df_2)
structure(list(individual_id = c(21L, 21L, 22L, 23L, 24L, 24L, 
24L, 25L, 26L, 26L, 26L, 26L, 26L, 26L, 26L, 27L, 27L, 27L, 27L
), number = c(1L, 2L, 1L, 1L, 1L, 2L, 3L, 1L, 1L, 2L, 3L, 4L, 
5L, 6L, 7L, 1L, 2L, 3L, 4L), treatment = structure(c(5L, 3L, 
2L, 4L, 1L, 5L, 3L, 2L, 3L, 5L, 2L, 5L, 4L, 5L, 1L, 2L, 5L, 5L, 
3L), .Label = c("Adalimumab", "Etanercept", "Infliximab", "Rituximab", 
"(Missing)"), class = "factor")), row.names = c(1L, 2L, 8L, 14L, 
20L, 26L, 27L, 33L, 39L, 45L, 46L, 52L, 53L, 59L, 60L, 66L, 72L, 
73L, 74L), class = "data.frame")

我的代码:

ggplot(final_df_2 , aes(x = number, stratum = treatment, alluvium = individual_id, fill = treatment, label = treatment)) +
  scale_fill_brewer(type = "qual", palette = "Set3") +
  geom_flow(width = 1/10) +
  geom_stratum(width = 1/10, colour = NA) +
  scale_x_continuous(breaks = 1:7, labels = c("1st Therapy", "2nd Therapy", "3rd Therapy", "4th Therapy", "5th Therapy", "6th Therapy", "7th Therapy"))+
  ggtitle("Treatment across observation period")+
  theme_minimal()+
  theme( panel.grid.major = element_blank(),
         panel.grid.minor = element_blank(), axis.text.y = element_blank())

我原来的Sankey图: enter image description here

红色节点代表我想做的事情: enter image description here

我对此表示感谢。预先感谢。

1 个答案:

答案 0 :(得分:0)

您尝试过

  var options = {
  width: 900,
  sankey: { node: { nodePadding: 80 } },
};