Next: , Previous: Usage, Up: Top


3 Usage Tips

3.1 Input: CSV => Output: SVG

CSV spreadsheets can include SVG images, yet only the defs (gradients, etc) and drawing data (paths, shapes, etc) are imported, not the header.
This means that included images have to comply with the SVG XML used by gnuclad.
If you think the current SVG header is missing something, please file a bug detailing the problem.

CSV spreadsheets can also include PNG images, but keep in mind that raster images are encoded in base64 and may result in a really huge output file.

3.2 Input: any => Output: CSV

All nodes with a starting date newer than endOfTime (usually the current date) will be ignored. All nodes with a stopping date newer or the same as endOfTime will have their stopping date removed (unset == "still alive").

For best results with CSV output, the recommended optimisation is 0 and treeMode conf setting is "lower inverse":

       optimise = 0
       treeMode = 2

This way the trees will be grouped by children and sorted by date, while your single nodes won't be mangled.

3.3 Optimisation - how it works

The optimisation parameter can be set to a value between 0 and 99. 0 turns off optimisation completely while 99 tries to stuff the resulting image closely together.

The first digit refers to the optimisation factor for isolated nodes, those which are not part of the tree. The higher it is, the more aggressively they will be appended to each other. The second digit sets the tree optimisation. Higher values will try to cramp the tree together more than lower ones.

The current mapping looks as follows (the exact parametrisation may be subject to change). Each higher scoring optimisation includes all the lines above it in the same group.

     0   - off
     
     x1  - queue pairwise consecutive node lines; fast
     x3  - pull nodes to parent
     x6  - pull nodes towards root
     x8  - pull nodes towards root strongly
     
     
     1x  - inject single nodes among other single nodes in a greedy manner
         - don't pass over trees
     2x  - pass over trees of size <= 2
     3x  - pass over trees of size <= 3
     4x  - pass over trees of size <= 5
     5x  - pass over trees of size <= 10
     6x  - pass over trees of size <= 20
     7x  - pass over trees of size <= 50
     8x  - pass over any tree
     

3.4 Optimisation - additional info

The current optimisation is greedy and therefore not exactly stellar.

For example, this optimises well:

                4 -> 2
     ___          ->  ___ ___ ___
             ___  ->      _______
         _______  ->
         ___      ->
     

But a slightly different map doesn't (a human can easily reduce this to 2):

                4 -> 3
     ___          ->  ___     ___
             ___  ->      _______
         _______  ->    _____
       _____      ->

Sorting by start date (see config options) might help a bit.