【问题标题】:Igraph in R: how to change edge color based on edge attributeR中的Igraph:如何根据边缘属性更改边缘颜色
【发布时间】:2016-11-29 03:55:26
【问题描述】:

我正在尝试在 R 中生成一个 Igraph。 现在我希望边缘颜色取决于边缘属性 - 部门。 我不能使用 ifelse 语句,因为部门值可以是动态的。我可以找到不同部门的数量,但我不确定如何进一步为不同部门创建不同的边缘颜色。

    department= unique(edges$department)
    department.count=length(department)

示例代码:

    gg <- graph.atlas(711)
    V(gg)$name=1:7
    gg=set_edge_attr(gg,"Department",E(gg)1:10],c("A","B","C","A","E","C","G","B","C","A"))
    E(gg)$label=E(gg)$Department
    plot(gg)

我希望每条边都有不同的颜色,具体取决于边中部门的值。一种颜色的所有“A”部门,另一种颜色的所有 B 部门边缘,依此类推。 请帮忙。

【问题讨论】:

    标签: r colors igraph


    【解决方案1】:

    您应该在发布时提供一个可重复的小示例。也就是说,您应该可以通过设置边缘的颜色属性来做到这一点:

    E(testgraph)$color <- as.factor(edges$department)
    

    【讨论】:

    • 我已经添加了有问题的代码。我尝试了下面的代码,我能够生成不同的颜色,但是颜色很浅,我无法区分边缘。 F2
    • 在情节语句之前添加行 E(gg)$color &lt;- as.factor(E(gg)$Department) 应该可以解决问题。
    猜你喜欢
    • 2014-04-13
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    相关资源
    最近更新 更多