[英]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")
但得到錯誤的圖表。
有兩種方法可以做到這一點:
創建圖形對象時,將名稱指定給名為label
的頂點屬性。 這是plot.igraph()
在繪圖時查找的默認值。
g1 <- graph.adjacency(adjm,add.colnames='label')
使用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.