2017-05-07 253 views
2

我想在R中绘制一些星形图。但是,如果绘制(大)完整图形(例如K_5),则会出现从一个节点到另一个节点通过中心节点的边缘。你可以看到在这example(我是新来的,因此我认为我不能直接上传图片)。 现在,如果我曲线的所有边缘,我得到this。但是这看起来也有点难看。我只想曲线边缘{2,4}和{3,5}。这可能吗?R igraph曲线的边缘

在此先感谢

编辑: Sry基因,“全图”只是一个例子来获得一类问题的图形。您可以绘制此如下:

adj <- matrix(1,5,5) 
adj[1,1] <- 0 
adj[2,2] <- 0 
adj[3,3] <- 0 
adj[4,4] <- 0 
adj[5,5] <- 0 

g = graph.adjacency(adj, mode="undirected",diag=FALSE) 
plot(g, layout=layout.star, vertex.label.color= "black") 
+0

你怎么样获得该布局?因为'plot(make_full_graph(5))'让我得到五角形上的节点,而不是具有中心节点的正方形... – Spacedman

回答

3

例如,曲线的顶点4 & 5和3 & 1之间的边缘,你可以到:

library(igraph) 
make_full_graph(5) %>% 
    set_edge_attr("curved", value=0) %>% 
    set_edge_attr("curved", E(.)[4%--%5,3%--%1], .2) %>% 
    plot 

"Indexing edge sequences"

+0

很好,那就是我想要的。非常感谢你。 :) – Brayn