【问题标题】:Controlling which edges are visible in a network diagram in igraph in r控制在 r 中的 igraph 中的网络图中哪些边是可见的
【发布时间】:2012-08-22 19:08:26
【问题描述】:

我在igraph中创建了下图

set.seed(1410)
df<-data.frame(
"site.x"=c(rep("a",4),rep("b",4),rep("c",4),rep("d",4)),
"site.y"=c(rep(c("e","f","g","h"),4)),
"bond.strength"=sample(1:100,16, replace=TRUE))

library(igraph)
df<-graph.data.frame(df)
V(df)$names <- c("a","b","c","d","e","f","g","h")
layOUT<-data.frame(x=c(rep(1,4),rep(2,4)),y=c(4:1,4:1))
E(df)[ bond.strength < 101 ]$color <- "red"
E(df)[ bond.strength < 67 ]$color <- "yellow"
E(df)[ bond.strength < 34 ]$color <- "green"
V(df)$color <- "white"
l<-as.matrix(layOUT)
plot(df,layout=l,vertex.size=10,vertex.label=V(df)$names,
edge.arrow.size=0.01,vertex.label.color = "black")

我想显示所有顶点/节点,但只显示 bond.strength > 34 的边(即只有红色和黄色边)。我可以通过将 bond.strength

是否有其他方法可以在显示所有顶点的同时简单地控制哪些边可见?谢谢

【问题讨论】:

    标签: r colors igraph vertices edges


    【解决方案1】:

    我想知道如果将线条的颜色设置为透明会发生什么,例如:

    E(df)[ bond.strength < 34 ]$color <- "#FF000000"
    

    我用以下方法制作了那个颜色编号:

     hsv(1,1,1,alpha=0)
    

    或者,您可以进入并从边缘列表中省略它们。

    【讨论】:

    • 这其实并不完美,因为有些设备不支持透明。更好的解决方案是将线型设置为0,这意味着根本没有线:E(df)[ bond.strength &lt; 34 ]$lty &lt;- 0
    • 很酷!透明度是我需要让节点静默消失的技巧。 size = 0, shape = "none" 和许多其他设置根本不起作用。谢谢
    猜你喜欢
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多