如何在R中的ggnet图中添加自定义顶点标签?

时间:2014-07-10 13:52:31

标签: r plot vertices

我知道可以将顶点标签(打印在顶点上)添加到ggnet网络图(例如参见城市网络here),但我无法弄清楚如何。这是一个最小的例子:

require(network); require(GGally)
nw <- network(matrix(c(0,1,1,0),2))
ggnet(nw,node.group="g",node.color="black",label.nodes=c("a","b"))

这给了我一个标有1和2节点的网络,而不是&#34; a&#34;和&#34; b&#34;。我唯一可以用label.nodes调整的是哪个节点打印出它们的数字标签,也就是说,如果我写了label.nodes = 2,那么第一个标签没有标签,第二个标签得到标签2。

我怀疑在创建网络时可能需要设置一些顶点名称参数,并且已经对此进行了实验,但没有结果。有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:1)

label.nodes参数可以设置为TRUE以标记所有顶点,也可以是顶点名称的字符向量,以仅标记那些节点。它不会更改顶点的名称。

那么这些名字来自哪里?嗯,它们来自网络对象本身。您可以使用

查看当前节点名称
network.vertex.names(nw)
# [1] 1 2

可以用

设置它们
network.vertex.names(nw) <- c("a","b")

现在如果您绘制图表,您将获得

ggnet(nw,node.group=c("A","B"),label.nodes=T, col="white")

enter image description here

请注意,node.groups定义颜色和图例(具有大写字母),而标签使用顶点名称形成nw对象。