【问题标题】:how to specify the labels of vertices in R如何在R中指定顶点的标签
【发布时间】:2011-12-02 15:00:51
【问题描述】:

我有一个矩阵如下:

          jerry    peter    king
 jerry     1       0        0    
 peter     0       1        0    
 king      1       1        1              

现在我正在尝试使用以下代码绘制代表矩阵的图形:

t <- read.table("../data/table.dat");
adjm <- data.matrix(t);
g1 <- graph.adjacency(adjm,add.colnames=NULL);
plot(g1, main="social network", vertex.color="white", edge.color="grey", vertex.size=8,
     vertex.frame.color="yellow");

顶点的标签是id,所以我的问题是如何通过矩阵的dimnames设置顶点的标签?

我已经尝试过代码

vertex.label=attr(adjm,"dimnames")

但得到错误的图表。

【问题讨论】:

    标签: r graph


    【解决方案1】:

    有两种方法可以做到这一点:

    1. 创建图形对象时,将名称分配给名为label 的顶点属性。这是plot.igraph() 在绘图时寻找的默认值。

      g1 <- graph.adjacency(adjm,add.colnames='label')
      
    2. 使用V 迭代器提取name 顶点属性,如果您使用add.colnames=NULL,它们就是这样存储的。

      plot(g1, main="social network", vertex.color="white", edge.color="grey", vertex.size=8, vertex.frame.color="yellow", vertex.label=V(g1)$name)
      

    无论哪种方式都会给您想要的结果。比如:

    【讨论】:

      猜你喜欢
      • 2017-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-26
      • 1970-01-01
      • 2022-01-16
      • 2011-12-24
      • 1970-01-01
      相关资源
      最近更新 更多