Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

igraph package in r: edge labels are overlapping

Tags:

plot

r

igraph

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!

like image 918
Daniel Ryback Avatar asked Nov 17 '13 17:11

Daniel Ryback


1 Answers

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

like image 157
James Tobin Avatar answered Nov 09 '22 21:11

James Tobin