2013-07-02 15 views
5

igraphの頂点の名前を変更する可能性はありますか?私は、頂点に異なる表記法を使ってあるグラフを複数回プロットしたい。次IGRAPHのAZを考える:私はに頂点を変更したいigraphの名前変更の頂点

> V(az) 
Vertex sequence: 
[1] "x1" "x2" "x3" "x4" "x5" "x7" "x8" "x9" "x10" "x11" "x12" "x13" 
[13] "x14" "x15" "x16" "x19" "x20" "x21" "x22" "x23" "x24" "x25" "x26" "x27" 

> az 
IGRAPH DN-- 24 23 -- 
+ attr: name (v/c), label (v/c), color (v/c), fill (v/c), width (e/n) 

を、しかし、

V(az)$name <- paste("y",1:27,sep="") 

が機能していないY1-Y27の に言うことができます。どうすればこれを達成できますか? ありがとうございます。

乾杯

EDIT:レコードの 。その方法で

V(az)$name <- paste("y",1:27,sep="") 

作品、それが返すように:

> V(az) 
    Vertex sequence: 
    [1] "y1" "y2" "y3" "y4" "y5" "y7" "y8" "y9" "y10" "y11" "y12" "y13" 
    [13] "y14" "y15" "y16" "y19" "y20" "y21" "y22" "y23" "y24" "y25" "y26" "y27" 

はしかし、プロット(AZ)静止画は、xノード

+0

あなたは 'V(az)'の代わりに 'V(as)'を書いていますか? – dickoa

+0

ああ、ありがとう。それはタイプミスです。 V(az)$ name < - paste( "y"、1:27、sep = "") –

+0

これはうまくいかないことをどのように知っていますか?エラーメッセージが表示されますか? – dickoa

答えて

11

とグラフを返すあなたは

ay <- set.vertex.attribute(az, "name", value=paste("y",1:27,sep="")) 
を使用することができます

"name"の代わりに"label"も使用できます。

+0

それはラベルを設定するためのきちんとした方法です。どうもありがとうございました。 –

9

V(az)に 'name'属性と 'label'属性の両方のセットがある場合、それはプロットされる 'ラベル'属性です。

> gt <- graph.tree(24, children = 4, mode=c("out", "in", "undirected")) 
> V(gt)$name <- letters[1:24] 
> plot(gt) # So 'name's get displayed if no label is present 
> V(gt)$label <- LETTERS[1:24] 
> plot(gt) # Labels get displayed 
> V(gt)$name <- letters[1:24] # see if then get overwritten 
> plot(gt) # Still plots with 'label's 
+0

+1問題の提示非常にconsous。ありがとう – dickoa

+0

それを指摘してくれてありがとう。それは理にかなっている。 –

関連する問題