doi:10.1016/j.ins.2007.02.016
Copyright © 2007 Elsevier Inc. All rights reserved.
A new algorithm for removing node overlapping in graph visualization
Xiaodi Huanga,
,
, Wei Laib, A.S.M. Sajeeva and Junbin Gaoc
aDepartment of Mathematics, Statistics and Computer Science, The University of New England, Australia
bSchool of Information Technology, Swinburne University of Technology, Australia
cSchool of Information Technology, Charles Sturt University, Australia
Received 10 January 2006;
revised 8 February 2007;
accepted 13 February 2007.
Available online 23 February 2007.
References and further reading may be available for this article. To view references and further reading you must
purchase this article.
Abstract
Techniques for drawing graphs have proven successful in producing good layouts of undirected graphs. When nodes must be labeled however, the problem of overlapping nodes arises, particularly in dynamic graph visualization. Providing a formal description of this problem, this paper presents a new approach called the Force-Transfer algorithm that removes node overlaps. Compared to other methods, our algorithm is usually able to achieve a compact adjusted layout within a reasonable running time.
Keywords: Graph layout; Overlapping nodes; Force transfer; Layout adjustment
Fig. 2. Overlap calculation: (a) overlap distances, (b) overlap graph 1, (c) non-overlap graph 1, (d) overlap graph 2, (e) non-overlap graphs 2.
Fig. 3. Determination of the seed node.
Fig. 4. Determination of seed node. (a) Imposing three windows on G0 forms three virtual nodes. (b) Applying FTA to remove the overlaps inside the nodes within each virtual node. The visual nodes form the next abstract level of an overlapping graph G1.
Fig. 5. The forces in FSA and FTA: (a) overlapping nodes, (b) a force in FTA, (c) a force in FSA.
Fig. 6. An example of an overlapping graph adjusted by FTA and FSA: (a) an overlapping graph, (b) layout adjusted by FTA, (c) layout adjusted by FSA.
Fig. 7. Initial and adjustment layouts for Graph 1: (a) Graph 1, (b) layout by FTA with s=v1, (c) layout by FTA with s = centre node.
Fig. 8. Initial and adjustment layouts for Graph 2: (a) Graph 2, (b) layout by FTA with a virtual node in the centre and (c) layout by FTA with s=v1.
Fig. 9. Initial and adjustment layouts for Graph 3: (a) Graph 3, (b) layout with FTA, (c) Layout with FSA.
Fig. 10. Initial and adjustment layouts for Graph 4: (a) Graph 4, (b) layout with FTA, (c) layout with FSA.
Fig. 11. Initial and adjustment layouts for Graph 5: (a) Graph 5, (b) layout with FTA, (c) layout with FSA.
Fig. 12. Initial and adjustment layouts for Graph 6: (a) Graph 6, (b) layout with FTA, (c) layout with FSA.
Fig. 13. Initial and adjustment layouts for Graph 7: (a) Graph 7, (b) layout with FTA, (c) layout with FSA.
Fig. 14. Initial and adjustment layouts for Graph 8: (a) Graph 8, (b) layout with FTA, (c) layout with FSA.
Fig. 15. Initial and adjustment layouts for Graph 9: (a) Graph 9, (b) layout with FTA, (c) layout with FSA.
Fig. 16. Comparison of values of Cost Function and the degree of adjusted nodes for Graph 3–9: (a) adjustment cost for the graphs, (b) degree of adjusted nodes (DAN).
Fig. 17. Comparison of values of Cost Function for more graphs.
Fig. 18. Comparison of the running times for the graphs in Fig. 16.
Fig. 19. A comparison example of FTA and FSA: (a) a graph with many overlapping nodes, (b) layout by FTA, (c) layout by FSA.
Fig. 20. An example of overlapping layout adjusted by FTA: (a) a graph with many overlapping nodes, (b) layout by FTA.
Table 1.
Value of cost function f(v1)
