r - 使用 R igraph 根据权重绘制边缘

标签 r plot igraph

我正在尝试用 R 中的 igraph 绘制一个网络,其中边按权重排序。我已经指定了颜色,但我想要背面的弱边缘和前面的强边缘。有办法做到这一点吗? 谢谢

最佳答案

这是一个可能的解决方案。这实际上取决于您正在使用的内容,因此通过代码示例我可以改进这一点。

基本上,边是按照它们出现的顺序绘制的。所以我们需要根据边的权重属性对边进行排序。这似乎不可能在同一个图中完成,因此可能只需要创建一个具有相同属性但边缘已排序的新图。

g <- graph( c(1,2, 1,3,1,4,1,5,2,3,2,4,2,5,3,4,3,5,4,5), n=5 )
E(g)$weight <- runif(10)

# Generates a the same graph but with edges sorted by weight.
h <- graph.empty() + vertices(V(g))
h <- h + edges(as.vector(t(get.edgelist(g)[order(E(g)$weight),])))
E(h)$weight <- E(g)$weight[order(E(g)$weight)]

E(h)$color <- "red"
E(h)[weight>0.3]$color <- "yellow"
E(h)[weight>0.7]$color <- "green"
plot(h,edge.width=2+3*E(h)$weight)

关于r - 使用 R igraph 根据权重绘制边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25269705/

相关文章:

r - 更改中线的颜色 ggplot geom_boxplot()

css - 在 Shiny 中更改选择器输入的颜色

R - tryCatch - 使用最后一次迭代索引重新启动 for 循环

r - 用高/低和日期填充两行之间的区域

r - 如何在 R 的 igraph 中排列网络?

r - 求igraph中具有一定属性值的连通节点的比例

python - 如何找到 iGraph 在 python 中创建的图中的顶点数?

r - ggplot 辅助 y 轴使用 sec_axis 显示 z 分数

r 绘制文本添加变量以使文本加粗

matlab - 修复动画的轴