使用下面的代码,我可以生成一个空手道俱乐部社区的情节'示例由igraph提供(见第一张图片)。
library(igraph)
karate <- make_graph("Zachary")
wc <- cluster_walktrap(karate)
plot(wc, karate)
如何在&#39;附近添加文字标签?每个社区?对于这个例子,假设我想打电话给5个不同的社区&#34;社区X&#34; (X = 1:5)。理想情况下,代码会将文本标签放在&#39;外部&#39;用于创建清晰图形的彩色社区多边形(通过将标签放置在每个多边形的图形中心的最远xy坐标上)。 (见第二张图片)
我查看了this post,但唯一的建议是手动添加标签。
有关如何使用代码添加文本标签的任何想法?是否有可能获得&#39;社区多边形的xy坐标和添加文本标签的方式? (不确定这应该是一个新问题还是对链接帖子的答案的评论 - 请告诉我,因为我是新手)。
非常感谢!
编辑:根据下面的评论,我确定了以下代码,似乎是为每个群组/社区绘制多边形:
params <- i.parse.plot.params(graph, list(...))
#...
layout <- params("plot", "layout")
#....
for (g in seq_along(mark.groups)) {
v <- V(graph)[mark.groups[[g]]]
#...
igraph.polygon(layout[v, , drop = FALSE], vertex.size = vs,
expand.by = mark.expand[g]/200, shape = mark.shape[g],
col = mark.col[g], border = mark.border[g])
}
但是,我无法找到有关igraph.polygon功能的任何信息。我也不知道如何处理params和&#39; layout [v ,,]&#39;。此外,即使我能解决所有这些问题,我将如何更改igraph的绘图功能并添加文本标签?