我知道可以将顶点标签(打印在顶点上)添加到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。
我怀疑在创建网络时可能需要设置一些顶点名称参数,并且已经对此进行了实验,但没有结果。有谁知道我做错了什么?
答案 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")
请注意,node.groups
定义颜色和图例(具有大写字母),而标签使用顶点名称形成nw
对象。