如何在 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 中更改网络图上的标签?的主要内容,如果未能解决你的问题,请参考以下文章

更改 gbm 部分图上的 x 和 y 标签

2022大规模电商图上的风险商品检测

Altium Designer 9 三张原理图放在同一个工程如何设置三张图上的相同网络标号相互关联

Plotly 条形图上的错误栏阻止的文本

在条形图上的 Plotly 中更改轴/图例名称

如何在ggplot2中并排条形图上居中标签