如何解决独立重新排序每个轴元素,ggplot2 [R]
我正在尝试创建一个类似于 Sankey 图的图,但不是使用频率,而是分别针对每种情况:我想分别从 x 轴重新排序每个元素并连接同一情况下的每个点。
这就是我正在做和得到的......
> data <- source("https://pastebin.com/raw/rPaaMvpb")$value
> ggplot(data,aes(variable,reorder(SubjID,value),color = factor(value),group = SubjID)) +
geom_point() + geom_line()
...但我想要这样的东西:
有什么帮助吗?非常感谢。
解决方法
我相信这段代码生成的图表与您期望的很接近。
library(tidyverse)
source("https://pastebin.com/raw/rPaaMvpb")$value %>% nest(data=-variable) %>% mutate(data=map(data,function(data){
data %>% arrange(value) %>% mutate(id=row_number()) %>% return()
})) %>% unnest(cols=data) %>%
mutate(value=if_else(value %in% c(1,4),"1,4",if_else(value %in% c(2,5),"2,5","3,6"))) %>%
ggplot(aes(x=variable,y=id,group=SubjID,colour=value,label=SubjID)) +
geom_point() + geom_line(colour="black") + geom_text(aes(hjust=if_else(variable=="g1",1.5,-0.5)),colour="black") +
labs(y=NULL) + theme(axis.text.y=element_blank(),axis.line.y=element_blank(),axis.ticks.y=element_blank())
由 reprex package (v1.0.0) 于 2021 年 3 月 10 日创建
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。