Hello, You can play around with the vertex.label.dist and vertex.label.degree parameters in the plot() call to specify the positions and distances of the labels from the center of the node. Of course this is feasible only if you can afford doing it manually. I am not aware of any method that does this automatically, although one possibility could be as follows (but I haven’t tried it so it may or may not work in your case):
1) If you have a graph with n vertices and m edges, create a new graph with 2n vertices and n+m edges as follows. For each node, duplicate it into a “regular node” and a “label node”. Connect the regular nodes in exactly the same way as your original graph, and attach the “label node” to its corresponding “regular node” by a single edge. 2) Lay out the original graph using some layout. 3) Create a preliminary layout for the modified graph using the original graph layout and place every label node near its corresponding regular node plus some small noise. 4) Run the Fruchterman-Reingold layout on the modified graph and constrain the regular nodes to stay in place -- this can be done by setting the minx, maxx, miny and maxy parameters of the call to layout.fruchterman.reingold properly. For extra credit, use a weights vector that assigns a larger weight to edges connecting regular nodes with label nodes to ensure that the label nodes stay close to their nodes. 5) Compare the position of each label node with its corresponding regular node, calculate their angle and distance, and use these as the vertex.labe.dist and vertex.label.degree parameters in the final plot() call. -- T. ------------------------------------------------------ From: Jean-Baptiste Pressac [email protected] Reply: Help for igraph users [email protected] Date: 28 April 2014 at 14:49:52 To: [email protected] [email protected] Subject: [igraph] Drawing graph with readable labels > Hello, > Is there a way to draw graphs in order to avoid the overlay of node's > labels (like in this graph > , where some labels > are quite unreadable) ? > Thanks, > > -- > Jean-Baptiste Pressac > Traitement et analyse de bases de données > Centre de Recherche Bretonne et Celtique > UMS 3554 > 20 rue Duquesne > CS 93837 > 29238 Brest cedex 3 > > tel : +33 (0)2 98 01 68 95 > fax : +33 (0)2 98 01 63 93 > > _______________________________________________ > igraph-help mailing list > [email protected] > https://lists.nongnu.org/mailman/listinfo/igraph-help > _______________________________________________ igraph-help mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/igraph-help
