数据
library(tidyverse)
library(ggalluvial)
test <- structure(list(A = c("CORBMI", "PLRV00", "PSTVD0", "MONIFC",
"LEPGWA", "CLRV00", "CHTSFR", "ERWICD", "MELMME", "PHYPPN"),
B = c(0.42784719084056, 0.285120867173756, 0.261137015606322,
0.254778215312991, 0.212680830980426, 0.186122557236353,
0.124216122036791, 0.124216122036791, 0.115530651882571,
0.109646238427031), C = c(0.756907014898909, 0.949604769547122,
0.756907014898909, 0.384778775205252, 0.257514393423948,
0.700112035900806, 0.257514393423948, 0.257514393423948,
0.384778775205252, 0.165593221053012), D = c(0.565257267298153,
0.300252143120273, 0.345005410791706, 0.662142071576284,
0.825898809587267, 0.265846818355118, 0.482365744241307,
0.482365744241307, 0.300252143120273, 0.662142071576284)), row.names = c(NA,
-10L), class = c("tbl_df", "tbl", "data.frame"))
问题
我正在尝试制作一个冲积地块,但我在轴的排序和重新排序方面遇到了问题。另外,我希望 y 轴的间距相等——现在它们随着数字的减少而变得越来越小。最重要的是A列按照B列排序,其他列按降序排列。但我也在努力解决每个轴中“框”的标签和间距是相等的,而不是根据值的大小。我尝试过不同的事情,例如,制作因子和因子水平但没有运气..
示例代码
ggplot(test, aes(y = B, axis1=-B, axis2=-reorder(C, -B), axis3=reorder(D, -B))) +
geom_alluvium(aes(fill = A), width = 1/12) +
geom_stratum(width = 1/12, color = "grey")+
geom_text(stat = "stratum", aes(label = A))