我不知道如何用这个来做一个可重复的例子。唯一重要的是,我想让vertex.color的论点成为一个传奇,这样我用来代表“母亲节”的颜色就会显示在图例中。
plot(g, vertex.size = (V(g)$poly_area*1.25), arrow.size = 0.5, arrow.width = 0.1, vertex.label = V(g)$poly_area, vertex.color = color[as.numeric(as.factor(vertex_attr(g, "motherinst")))], curved = TRUE)我尝试直接给图形对象添加颜色,但似乎对我也不起作用。
发布于 2019-09-05 00:43:47
我将使用函数legend。
首先制作一个可重现的图表:
require(igraph)
g <- graph_from_atlas(523)我需要知道顶点的数量,我们称其为n
n <- length(V(g))然后,我创建一个描述每个节点的特定属性的任意因子,并根据该因子为每个节点分配颜色。我真的不知道poly_area属性是什么,所以我就有了创意……
f <- factor(rep(LETTERS[1:2], length = n))
V(g)$poly_area <- V(g) ** 2
vcols <- c("#F8766D", "#00BFC4")[f]对绘图函数的调用是相同的(为了清晰起见,只是稍微简化了一点)...
plot(g, vertex.size = (V(g)$poly_area + 10), vertex.label = V(g)$poly_area, vertex.color = vcols)..。并且可以使用legend添加图例
legend("topleft", legend = levels(f), pch = 16, col = vcols, bty = "n")这就是结果!

https://stackoverflow.com/questions/57792416
复制相似问题