% Copyright 2019 by Jannis Pohlmann % % This file may be distributed and/or modified % % 1. under the LaTeX Project Public License and/or % 2. under the GNU Public License. % % See the file doc/generic/pgf/licenses/LICENSE for more details. \ProvidesFileRCS{pgflibrarygraphdrawing.force.code.tex} \usepgflibrary{graphdrawing}% \usegdlibrary{force}% \endinput % % Definition of spring algorithms as well as options to configure them. % \pgfgdset{ force based/.cd, % iterations/.graph parameter=number, iterations/.parameter initial=500, % cooling factor/.graph parameter=number, cooling factor/.parameter initial=0.95, % initial step dimension/.graph parameter=number, initial step dimension/.parameter initial=0, % convergence tolerance/.graph parameter=number, convergence tolerance/.parameter initial=0.01, % spring constant/.graph parameter=number, spring constant/.parameter initial=0.01, % approximate electric forces/.graph parameter=boolean, approximate electric forces/.parameter initial=false, approximate electric forces/.default=true, % electric force order/.graph parameter=number, electric force order/.parameter initial=1, % % Parameters related to the multilevel approach where the input graph % is iteratively coarsened into graphs with fewer nodes, until either % the number of nodes is small enough or the number of nodes in the % could not be reduced by at least a user-defined ratio. % coarsen/.graph parameter=boolean, coarsen/.parameter initial=true, coarsen/.default=true, % coarsening/.code=\pgfkeys{ /graph drawing/force based/coarsening/.cd, #1 }, % coarsening/downsize ratio/.graph parameter=number, coarsening/downsize ratio/.parameter initial=0.25, % coarsening/minimum graph size/.graph parameter=number, coarsening/minimum graph size/.parameter initial=2, % coarsening/collapse independent edges/.graph parameter=boolean, coarsening/collapse independent edges/.parameter initial=true, coarsening/collapse independent edges/.default=true, % coarsening/connect independent nodes/.graph parameter=boolean, coarsening/connect independent nodes/.parameter initial=false, coarsening/connect independent nodes/.default=true, % % Node parameters for spring algorithms. % % % Edge parameters for spring algorithms. % }% \pgfgddeclareforwardedkeys{/graph drawing}{ % electric charge/.node parameter=number, electric charge/.parameter initial=1, } % % Spring algorithm based on the paper % % "Efficient, High-Quality Force-Directed Graph Drawing" % Yifan Hu, 2006 % \pgfgddeclarealgorithmkey {spring layout} {force based} { algorithm=pgf.gd.force.SpringHu2006 } % % Spring-electrical algorithm based on the paper % % "Efficient, High-Quality Force-Directed Graph Drawing" % Yifan Hu, 2006 % \pgfgddeclarealgorithmkey {spring electrical layout} {force based} { algorithm=pgf.gd.force.SpringElectricalHu2006, force based/spring constant=0.2, } % % Spring-electrical algorithm based on the paper % % "A Multilevel Algorithm for Force-Directed Graph Drawing" % C. Walshaw, 2000 % \pgfgddeclarealgorithmkey {spring electrical layout'} {force based} { algorithm=pgf.gd.force.SpringElectricalWalshaw2000, force based/spring constant=0.01, force based/convergence tolerance=0.001, }