R igraph曲线边缘
R igraph curved edges
我想在 R 中绘制一些星形图。但是,如果我绘制(大)完整图,例如 K_5,那么一条边从一个节点到另一个节点通过中心节点.你可以在这个 example 中看到(对不起,我是新来的,所以我想,我不能直接上传图片)。
现在,如果我弯曲所有边,我得到 this。但这看起来也有点难看。我只想弯曲边缘 {2,4} 和 {3,5}。这可能吗?
提前致谢
编辑:
抱歉,"full graph" 只是获得 class 有问题图表的示例。您可以按如下方式绘制:
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")
例如,要弯曲顶点 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
我想在 R 中绘制一些星形图。但是,如果我绘制(大)完整图,例如 K_5,那么一条边从一个节点到另一个节点通过中心节点.你可以在这个 example 中看到(对不起,我是新来的,所以我想,我不能直接上传图片)。 现在,如果我弯曲所有边,我得到 this。但这看起来也有点难看。我只想弯曲边缘 {2,4} 和 {3,5}。这可能吗?
提前致谢
编辑: 抱歉,"full graph" 只是获得 class 有问题图表的示例。您可以按如下方式绘制:
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")
例如,要弯曲顶点 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