2013-07-02 4 views
5

Esiste la possibilità di rinominare i vertici in un igraph. Voglio tracciare un certo grafico più volte con notazione diversa sui vertici. Dato il seguente IGRAPH az:R igraph rinomina i vertici

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

con

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

Voglio cambiare i vertici in, consente di dire a Y1-Y27 Tuttavia,

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

non funziona. Come posso raggiungere questo obiettivo? Grazie in anticipo.

Acclamazioni

EDIT: per il record.

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

opere in quel modo, in modo che restituisca:

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

Tuttavia, la trama (az) alambicchi riportare il grafico con i nodi x

+0

Hai scritto 'V (as)' invece di 'V (az)' è normale? – dickoa

+0

oh grazie per il suggerimento. Questo è un errore di battitura. Dovrebbe essere V (az) $ nome <- incolla ("y", 1: 27, sep = "") –

+0

Come fai a sapere che non funziona? c'è un messaggio di errore? – dickoa

risposta

11

È possibile utilizzare

ay <- set.vertex.attribute(az, "name", value=paste("y",1:27,sep="")) 

Funziona anche con "label" anziché "name".

+0

Questo è un modo pulito per impostare le etichette. Grazie mille. –

9

Se V (az) ha sia un insieme di attributi 'nome' che un set di attributi 'etichetta', sono gli attributi 'etichetta' che vengono tracciati.

> 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 presentazione molto considea del problema. Grazie – dickoa

+0

Grazie per averlo indicato. Ciò ha senso. –