1

数据

 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)) 
4

0 回答 0