Reputation: 59
I have a dataset similar to this.
library(igraph)
df <- data.frame(Account= c('Luca', 'Alberto', 'Luisa', 'Marcello', 'Tania'),
friend = c('Alberto', 'Luisa', 'Tania', 'Alberto', 'Luisa'))
edges1 = data.frame("from" =df$Account , "to" =df$friend , stringsAsFactors = F )
net <- graph_from_data_frame(d= edges1, directed = T)
V(net)$degree <- degree(net)
plot(net, vertex.size=20,
vertex.color=rainbow(11),
edge.arrow.width=0.7,
edge.lty= 6)
I would like to color each edge the same color as the node it started from. For example, each link from Luca in red, each link from Luisa in yellow. Couldn't find anything about it, thanks in advance
Upvotes: 2
Views: 721
Reputation: 270170
In the question the vertex colors were set in the plot
command so they were not part of the graph. Instead set the vertex colors in the graph itself and then set the edge colors based on those.
V(net)$color <- rainbow(ecount(net))
E(net)$color <- tail_of(net, E(net))$color
plot(net)
Upvotes: 3