0
在另一个列表中唯一条目的颜色我想用一个调色板中的igraph定义颜色我的图形边缘。我已创建使用RColorBrewer
调色板,需要基于边缘独特的颜色分配给每个边缘属性信息。基于R中
这里是我的尝试至今:
colrs<- brewer.pal(length(unique(E(g)$fruit)), "Accent")
E(g)$color <- colrs[E(g)$fruit] #Does not work
E(g)$color
[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[40] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[79] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
有没有一种方法,我可以使用E(g)$fruit
作为索引到colrs
列表?
有4种水果中E(g)$fruit
:取决于什么类型的水果每条边有,也应该从colrs
列表中获得相应的颜色
unique(E(g)$fruit)
"Apple" "Orange" "Grapes" "Pear"
因此,使得与“苹果所有边缘“具有相同的颜色,具有”橙色“的所有边缘具有相同的颜色等等等等。我将最终绘制图形下面的代码:
plot(g,layout=layout.fruchterman.reingold, vertex.color='grey80', vertex.label.color="black", edge.color=E(g)$color)
这里是我的图的EdgeList都的一个样本:
from to fruit
1 A B Apple
2 A C Apple
3 B C Grapes
4 D B Pear
5 D C Orange