如何在 R 中更改网络图上的标签?
Posted
技术标签:
【中文标题】如何在 R 中更改网络图上的标签?【英文标题】:How to change labels on a network diagram in R? 【发布时间】:2012-03-11 20:10:38 【问题描述】:我正在使用 R 进行社交网络分析,正在试用 SNA、Network 和 iGraph 包。
我的数据是一个 data.frame,结构为... d <-
Source Target Weight Label
1 2 0.5 "Fred"
1 3 0.7 "Fred"
2 3 0.9 "Bill"
3 1 1.0 "Allen"
(我也有一个版本,它只是(a)源、目标和权重,以及一个单独的文件(b)提供源 ID 和标签值之间的对应关系,即源的名称,其中 @987654323 @
Source Target Weight
1 2 0.5
1 3 0.7
2 3 0.9
3 1 1.0
labels1 <-
Source Label
1 "Fred"
2 "Bill"
3 "Allen"
labels2 <-
Source Label
1 "TrueName1"
2 "TrueName2"
3 "TrueName3"
)
我正在使用匿名社交网络,因此我希望能够在重新绘制之间轻松更改名称标签——即使用标签集 1 或标签集 2,其中边缘相同,但是sourceID 和 Label Name 的节点名对应关系发生变化。
但是,当尝试使用这些包中的任何一个时,似乎我必须将源和目标中的值转换为等于标签。是否有任何简单的方法可以将标签作为与源的对应关系附加?
只要我有标签列,network(d)
和 graph.data.frame(d, directed=TRUE)
之类的东西就不起作用。一旦我放弃这个类别,它就会,但我的图表有数字标签。
我想做的是这样的:
plot(a, labels=NA)
plot(a, labels=labels1)
和
plot(a, labels=labels2)
在图表上的数字、匿名和非匿名标签之间移动。
【问题讨论】:
【参考方案1】:对于 igraph 尝试 plot(a, vertex.label=NA)。
http://igraph.sourceforge.net/doc/R/plot.common.html 或 ?igraph.plotting 对绘图有更多帮助。
【讨论】:
这确实取消了地块的标签。我的问题是关于如何给它们贴标签,以及如何在标签集之间轻松切换。 只需使用标签向量而不是 NA。以上是关于如何在 R 中更改网络图上的标签?的主要内容,如果未能解决你的问题,请参考以下文章