Menu

Tree [r1] /
 History

HTTPS access


File Date Author Commit
 ExampleGraphs 2010-06-10 linello [r1]
 Lib 2010-06-10 linello [r1]
 gnuplot 2010-06-10 linello [r1]
 CoarsenGraph.cpp 2010-06-10 linello [r1]
 GraphLayout.cpp 2010-06-10 linello [r1]
 GraphLayout3D.cpp 2010-06-10 linello [r1]
 Makefile 2010-06-10 linello [r1]
 MeasureGraphQuality.cpp 2010-06-10 linello [r1]
 README.txt 2010-06-10 linello [r1]

Read Me

GraphLayout v2.4
08 June 2010

Carlo Nicolini

**********************************************************************
************		How to build the source 				**********
**********************************************************************
How to use the programs:
	make all

To clean the executables:
	make clean


**********************************************************************
************		How to draw a DIMACS graph				**********
**********************************************************************

The GraphLayout program has many options:
Choose the format
-m		0 = DIMACS (Default)
		1 = EDGELIST (space separated edges)
		2 = DOT (GraphViz compatible)

Choose the solver to minimize the layout cost function
-s		0 = Choose BFGS method with line search interpolation
		1 = Choose conjugate gradient method with line search interpolation
			(very fast if Kamada Kawai method is used )
		
-f		0 = Use Kamada Kawai (need to compute all-pair-shortest-path), default
		1 = Use Fruchterman Reingold model	
		2 = Use resistance distance matrix embedding model
		3 = Use Kamada Kawai model with a cutoff of 6 nodes

-o	"test.dimacs": output the finished layout to "test.dimacs" file
 
Usage example:
Draw a graph with Fruchterman Reingold layout model using conjugate gradient

./GraphLayout -o graphname_layouted.dimacs -s 1 -f 1 graphname.dimacs

All the graphs given in input are expected to be in dimacs format, e.g. (check the blanks)
#nodenumber ( pos_x, pos_y ) degree list_of_adjacent_nodes
For example:

1 ( -7.3127, 6.9487 ) 2 2 3
2 ( 5.2755, -4.8986 ) 2 1 4
3 ( -0.0913, -1.0102 ) 3 1 4 5
4 ( 3.0319, 5.7745 ) 3 2 3 5
5 ( -8.1228, -9.4331 ) 3 3 4 6
6 ( 6.7153, -1.3447 ) 1 5

Usually the GraphLayout produces a .eps file using gnuplot with the final draw of the graph.
If this is not possible, first install gnuplot (ver. > 4) on a unix environment.

For example, if GraphLayout doesn't automatically create the .eps file of the graph, do as follow

	./GraphLayout [options] graphname.dimacs > graphname.dimacs.eps
	
and this will produce the graph eps.


**********************************************************************
******		How to measure the graph quality and features		******
**********************************************************************

The MeasureGraphQuality analyze the graph structure and measure its layout quality.
Usage example:
	./MeasureGraphQuality graphname.dimacs
create a graphname.dimacs.stat file with all the graph features and layout quality.	
	
To print to stdout a human readable information about the graph analyzed, select -p 1:
-p		1 	Print only a human readable graph information on stdout.

Usage example:
	./MeasureGraphQuality -p 1 graphname.dimacs
produces the following typical output.

Nodes 15
Edges 27
Max_deg 4
Min_deg 2
Avg_deg 3.6
Var_deg 0.64
Density 0.257143
Triangles  12
Diameter 4
Quality 1 0.542289
Quality 2 0.0184443	
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.