R中的Igraph:如何根据边缘属性更改边缘颜色

Igraph in R: how to change edge color based on edge attribute

我正在尝试在 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 部门边缘用另一种颜色,依此类推。 请帮忙。

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

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