2017-05-19 3 views
2

Ich verwende igigraph in R für Netzwerkanalyse. Ich möchte ein Kantenattribut für jede Linie im Diagramm anzeigen. Ein Beispiel ist untenZeige Kantenattribute als Label mit Sigma

df <- data.frame(a = c(0,1,2,3,4),b = c(3,4,5,6,7)) 
nod <- data.frame(node = c(0:7),wt = c(1:8)) 
pg <- graph_from_data_frame(d = df, vertices = nod,directed = F) 
plot(pg) 

I der Wert der „wt“ -Funktion soll zwischen jedem Knoten auf der Linie dargestellt wird, oder vorzugsweise, in einem kleinen Zwischenraum, wo die Zeilenumbrüche.

Ist es möglich, dies zu erreichen?

+0

Es gibt fünf Kanten, aber acht Attribute; wie sollen sie arrangiert werden – user2957945

+0

Guter Punkt! Sagen wir, es ist die Summe der wt-Variablen für jeden Knoten. – user2997345

Antwort

1

Mit dem Parameter edge.label Markierungen der Kanten zuweisen, habe ich - wahrscheinlich falsch - Nicken $ wt. Natürlich könnten Sie andere Beschriftungen zuweisen.

Sie können den folgenden Code verwenden:

# load the package 
library(igraph) 

# your code 
df <- data.frame(a = c(0,1,2,3,4),b = c(3,4,5,6,7)) 
nod <- data.frame(node = c(0:7),wt = c(1:8)) 
pg <- graph_from_data_frame(d = df, vertices = nod,directed = F) 

# plot function with edge.label added 
plot(pg, edge.label = nod$wt) 

Bitte, lassen Sie mich wissen, ob dies ist, was Sie wollen.

+0

großartig! Ich wusste nicht, dass es so einfach war – user2997345

+0

Ich bin froh, dass ich helfen konnte (ich musste es auch nachschauen ;-). Bitte zögern Sie nicht, die Antwort als hilfreich zu markieren, wenn Sie das Gefühl haben. – KoenV