Reputation: 408
I am working with the igraph package in R to visualise network flows.
library(igraph)
# Example Data:
b <- c("countryA", "countryB", "countryC", "countryA", "countryC", "countryA")
c <- c("countryB", "countryC", "countryA", "countryB", "countryA", "countryB")
d<- c(100, 200, 200, 300, 400, 200)
e <- c(5,12,10,24,25,12)
mydata <- data.frame(b,c,d,e)
colnames(mydata) <- c("exporteur", "partner", "tradeflow", "price")
# Plot in igraph
mydata.igraph <- graph.data.frame(mydata)
E(mydata.igraph)$label <- mydata[,3]
plot(mydata.igraph)
As you can see, my edge labels (labels of the arrows) are overlapping. How to solve this?
Thanks in advance!
Upvotes: 9
Views: 9339
Reputation: 3110
This is the code to do it. It uses the edgelist instead of the igraph, but it is a cooler looking graph.
library(qgraph)
qgraph(mydata,edge.labels=T)
Check out this post for a more detail
Draw Network in R (control edge thickness plus non-overlapping edges)
And this help page for using qgraph: http://rgm3.lab.nig.ac.jp/RGM/R_rdfile?f=qgraph/man/qgraph.Rd&d=R_CC
Upvotes: 1