如何解决如何在Rggforce中调整Sankey图中的高度和间距?
我有一个用 ggforce::geom_parallel_sets
制作的桑基图/冲积图。
由于出发地和目的地的类别数量不同(出发地三个,目的地两个),因此它们之间存在高度差异。我想让它们具有相同的高度,这将涉及增加两个目的地类别之间的间隔,但我不知道如何实现这一点。
注意:我确实需要这些休息时间,即根本不能没有休息时间;只需要增加目的地中断处的空间,使其与原点高度相同。另外,我宁愿坚持 ggforce
(除非您可以在 ggalluvial
中休息)。
library(tidyverse)
library(ggforce)
oclassuni <- structure(list(oclass = c("1st","1st","2nd","3rd","3rd"),uni = c("degree","no degree","degree","no degree"),Freq = c(520,719,1186,871,633,2626,520,2626),Perc = c(42,58,57.7,42.3,19.4,80.6,42,80.6),id = c(1L,2L,3L,4L,5L,6L,1L,6L),x = c("oclass","oclass","uni","uni"),y = c("1st","no degree")),row.names = c(NA,-12L),groups = structure(list(
oclass = c("1st",.rows = structure(list(c(1L,7L,8L),c(3L,9L,10L),c(5L,11L,12L)),ptype = integer(0),class = c("vctrs_list_of","vctrs_vctr","list"))),3L),class = c("tbl_df","tbl","data.frame"),.drop = TRUE),class = c("grouped_df","tbl_df","data.frame"))
ggplot(oclassuni,aes(fct_relevel(x,"oclass"),id = id,split = y,value = Perc)) +
geom_parallel_sets(aes(fill = oclass,alpha = uni),axis.width = 3,sep = 0.05) +
scale_fill_manual(values = c("#5D6BA3","#E3280B","#158248")) +
scale_alpha_manual(values = c(0.8,0.6)) +
theme_minimal() +
theme(axis.title.y = element_blank(),axis.title.x = element_blank(),axis.text.y = element_blank(),axis.text.x = element_blank(),legend.position = "none",plot.title = element_text(hjust=0.5,size=18),panel.grid.major = element_blank(),panel.grid.minor = element_blank(),panel.border = element_blank(),panel.background = element_blank())
编辑:我已经使用了 sep
参数,sep = c(0.025,0.05)
给出了以下内容,但是现在原点(!)中有不均匀的空格,而 sep 不会采用三个值...有什么想法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。