在r中创建圆形/同心二部图
已解决:查看我的解决方案,添加在帖子底部 我目前正在尝试使用r创建一个圆形二部图,理想情况下使用GGRAPHE。我有一个关于雄性和雌性青蛙之间交配关系的数据集;以下是该数据的子集:在r中创建圆形/同心二部图,r,igraph,ggraph,tidygraph,R,Igraph,Ggraph,Tidygraph,已解决:查看我的解决方案,添加在帖子底部 我目前正在尝试使用r创建一个圆形二部图,理想情况下使用GGRAPHE。我有一个关于雄性和雌性青蛙之间交配关系的数据集;以下是该数据的子集: Mother Father M1 F1 M2 F2 M3 F2 M4 F3 M5 F4 M6 F4 M7 F4 我的目标是想象每个有机体有多少伙伴,比如: 到目前为止,我已经能够使用igraph制作出该图的线性
Mother Father
M1 F1
M2 F2
M3 F2
M4 F3
M5 F4
M6 F4
M7 F4
我的目标是想象每个有机体有多少伙伴,比如:
到目前为止,我已经能够使用igraph制作出该图的线性版本:
> library(tidyverse)
> library(igraph)
> library(ggraph)
> MyData <- read_csv("Bipartite.csv")
> Visualization <-graph.data.frame(MyData)
> bipartite.mapping(Visualization)
$res
[1] TRUE
$type
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
TRUE TRUE TRUE
[14] TRUE TRUE TRUE TRUE TRUE TRUE TRUE
> V(Visualization)$type <- bipartite_mapping(Visualization)$type
> plot(Visualization, layout = layout.bipartite)
但是,我得到的不是两个同心环,而是一个大圆圈,这对显示数据没有用处(我知道,通过GGRAPHE可以更简单地完成)
其次,我尝试将igraph对象引入ggraph并将circular设置为TRUE:
ggraph(Visualization, layout = 'bipartite', circular = TRUE)
+ geom_edge_link()
+ geom_node_point()
但我得到了错误信息:
Error in layout_igraph_igraph(graph, layout, circular, ...) :
Circular layout only applicable to tree and DAG layout
关于如何产生我想要的视觉效果有什么想法吗?我对r和stackoverflow都是新手,所以我很抱歉对我的问题的解释有任何限制。谢谢
解决方案:
首先,加载您需要的包
库(tidyverse)
图书馆(潮汐图)
图书馆(igraph)
库(ggraph)
现在,读入节点和边数据,并使用ggraph构造图形对象
节点如果您可以通过发布数据集(数据集的子集)或提供代码来生成类似的数据,这将很有帮助可能ggraph(PlotBig,layout='bipartite')+geom_edge_link()+geom_node_point()+coord_polar()
会起作用,但不能不起作用testing@PierreGramme,说得好,谢谢-补充。如果您可以发布数据集(子集)或提供代码来生成类似的数据,这会有所帮助。也许ggraph(PlotBig,layout='bipartite')+geom_edge_link()+geom_node_point()+coord_polar()
可以工作,但不能不工作testing@PierreGramme,很好,谢谢你-补充说。
Error in layout_igraph_igraph(graph, layout, circular, ...) :
Circular layout only applicable to tree and DAG layout