This package implements a hierarchical graph visualization method based on a maximal modularity clustering. The layout is launched as follows: java -jar hlayout.jar [options] -graph GraphFile -part Partition Graph file format and partition file format are documented in the clustering documentation. Used without further option, the program will print on the standard output a layout of the graph induced by the bottom level partition of the hierarchy described in Partition (the finest partition). This behavior can be modified with the options described below. The layout file format is a simple series of lines, each of which giving the position of a vertex as a triple: vertex id, x position and y position. This format is used for standard output as well as for proper files. As the layout is hierarchical, the program can produce several layouts corresponding to different level of refinement of the coarsest partition. This is controlled by the following options: - "-nbrefine N" specifies the maximal number of refinement steps from the original coarsest partition. Each step corresponds to the replacement of a cluster by its sub-clusters in the hierarchy. Defaults to infinity. - "-saveall" turns on saving all the layouts from the coarsest one to the finest (as specified by the -nbrefine parameter or the -mod file). A layout file stem as to be provided when this option is activated - "-layout VAL" sets the layout file stem to VAL. If -saveall is not used, the unique layout generated by the program will be saved to the file "VAL-layout.txt". If -saveall is used, then each layout generated by the program will be saved in a file "VAL-n-layout.txt" where n it the refinement step (starting at 0 for the coarsest partition). - "-outgraph VAL" sets the graph output file stem to VAL. Saving rules are similar to the ones used for layout with the exception that a graph is saved into two files, one for the edges (ending in "-edges.txt"), one for the nodes (ending in "-nodes.txt"). The edge file uses the standard graph file format described in the clustering documentation. The node file start with a header line "n id weight data". Then each line contains a node number and a node id (currently identical), a weight (that is the number of vertices from the original graph clustered into this node) and an additional content currently set to null. - "-mod VAL" allows the program to terminate the refinement process based on the significance of the partition as measured via the random graph model used in the clustering code. VAL is the name of the modularities file produced by the clustering program. The program handles the following additional options: - "-nlayout N" specifies the number of random starting points for each layout produced during the calculation of the global one. The best layout will be selected based on the minimization of each edge crossings. Notice that calculating this quantity can be quite time consuming as the program use a naive implementation in O(M^2) where M is the number of edges in the considered graph. Defaults to 1 for this reason. - "-noseed" turns off the seeding of the random number generator used to choose initial layouts. - "-seed N" set the random seed to N (defaults to 0 unless -noseed is used)