独立地对每个轴元素重新排序,ggplot2[R]

独立地对每个轴元素重新排序,ggplot2[R],r,ggplot2,plot,sankey-diagram,R,Ggplot2,Plot,Sankey Diagram,我试图创建一个类似于Sankey图的图,但不是频率图,而是每种情况下分别创建的图:我想分别从x轴对每个元素重新排序,并从同一情况下连接每个点 这就是我正在做的并且得到 > data <- source("https://pastebin.com/raw/rPaaMvpb")$value > ggplot(data, aes(variable, reorder(SubjID, value), color = factor(value), group = Sub

我试图创建一个类似于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()
>数据ggplot(数据,aes(变量,重新排序(subcid,value),颜色=因子(value),组=subcid))+
几何点()+几何线()

。。。但像这样的事情我想:


需要帮忙吗?非常感谢。

我相信这段代码生成的图形与您期望的图形非常接近

库(tidyverse)
来源(“https://pastebin.com/raw/rPaaMvpb“”$value%%>%nest(数据=-变量)%%>%mutate(数据=映射(数据,函数(数据)){
数据%>%arrange(value)%%>%mutate(id=row_number())%%>%return()
}))%%>%unnest(cols=数据)%%>%
变异(值=if_-else(值%c(1,4),“1,4”,if_-else(值%c(2,5),“2,5”,“3,6”)))%>%
ggplot(aes(x=变量,y=id,组=主体id,颜色=值,标签=主体id))+
geom_point()+geom_line(color=“black”)+geom_text(aes(hjust=if_else(变量==“g1”,1.5,-0.5)),color=“black”)+
labs(y=NULL)+主题(axis.text.y=element\u blank(),axis.line.y=element\u blank(),axis.ticks.y=element\u blank())

由(v1.0.0)于2021-03-10创建