IGRAPHE在尝试为边着色时简化了操作

IGRAPHE在尝试为边着色时简化了操作,r,colors,igraph,simplify,R,Colors,Igraph,Simplify,我有几种细胞类型,想展示它们之间的联系。我的问题是,如果我只使用plot(all.cnx),它会显示所有连接。但是,如果我想添加edge.color等,那么它可以简化图形。例如,“CT#1#U 3”与其他单元类型的连接。如何防止这种简化,因为我想显示所有边 谢谢, 伊利亚斯 由于edge.curved=0.5,边缘重叠。它使所有的边都具有相同的曲率,因此,如果图形被简化,就会出现这种情况,但实际上边在那里,只是完美地重叠 要返回到您想要的,边中的曲线更少,您可以直接在igraph对象上使用函数c

我有几种细胞类型,想展示它们之间的联系。我的问题是,如果我只使用
plot(all.cnx)
,它会显示所有连接。但是,如果我想添加edge.color等,那么它可以简化图形。例如,“CT#1#U 3”与其他单元类型的连接。如何防止这种简化,因为我想显示所有边

谢谢, 伊利亚斯


由于
edge.curved=0.5
,边缘重叠。它使所有的边都具有相同的曲率,因此,如果图形被简化,就会出现这种情况,但实际上边在那里,只是完美地重叠

要返回到您想要的,边中的曲线更少,您可以直接在
igraph
对象上使用函数
curve\u multiple()
,并将结果向量传递到
edge.curve

plot(all.cnx, layout = my_layout,
     edge.color = my_edge_colors, edge.arrow.size=0.4,
     vertex.color = my_vertex_colors, vertex.size=30,vertex.frame.color="black",
     vertex.label.color="black",vertex.label.cex=0.5, vertex.label.dist=0,
     edge.curved = curve_multiple(all.cnx, .2)) # the default is 0.5


这只会在需要曲线的地方弯曲边缘(即有重叠)。如果只删除
edge.curve
参数,它将重置为默认值,从而生成曲率更大但没有重叠的边。

所谓“简化”,是指连接节点CT#1#U 3和CT#2#U 7的边的合并吗?是的,这就是我的意思。它合并了两条边。我想展示这些边缘,因为它们是不同的颜色。非常感谢。完成!
plot(all.cnx, layout = my_layout,
     edge.color = my_edge_colors, edge.arrow.size=0.4,
     vertex.color = my_vertex_colors, vertex.size=30,vertex.frame.color="black",
     vertex.label.color="black",vertex.label.cex=0.5, vertex.label.dist=0,
     edge.curved = curve_multiple(all.cnx, .2)) # the default is 0.5