igraph package in r: edge labels are overlapping

Daniel Ryback picture Daniel Ryback · Nov 17, 2013 · Viewed 7.6k times · Source

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!

Answer

James Tobin picture James Tobin · Jan 10, 2014

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