【发布时间】:2017-09-13 12:42:27
【问题描述】:
我有这个命令可以从 igraph 生成网络图:
plot(ig, layout=layout.fruchterman.reingold(ig),vertex.label=NA,vertex.label.color="black",vertex.frame.color="black",edge.color="black", vertex.color=rainbow(9)[data2$Group], main="MB Network")
data2 是另一个对象,包含有关 igraph 对象 ig 中顶点分组的信息。我想通过分组为顶点着色,然后为组颜色指南添加一个图例,所以我使用了以下命令:
legend("topleft",legend=unique(data2$Group),col=rainbow(9)[data2$Group])
但是,图例中使用的颜色与绘图的颜色不匹配。我应该如何纠正这个问题?
【问题讨论】:
-
你能做一个可重现的小例子吗?这将有助于理解您的意思并帮助我们进行故障排除。一种可能性是颜色相同但顺序不正确。如果是这样,我想知道
data2$Group是否是一个因素,并且情节是按因素的水平对它们进行排序,而图例则按unique之后的顺序排序。也许尝试levels而不是unique。 -
问题出在图例中:你应该用实际使用的颜色替换
rainbow(9)[data2$Group],所以我猜rainbow(9)。