簡體   English   中英

如何在R中指定頂點的標簽

[英]how to specify the labels of vertices in R

我有一個矩陣如下:

          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")

但得到錯誤的圖表。

有兩種方法可以做到這一點:

  1. 創建圖形對象時,將名稱指定給名為label的頂點屬性。 這是plot.igraph()在繪圖時查找的默認值。

     g1 <- graph.adjacency(adjm,add.colnames='label') 
  2. 使用V迭代器提取name vertex屬性,如果使用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) 

無論哪種方式都會給你想要的結果。 就像是:

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM