New to Version 3.0.1 (bug fix only, no API changes)
-
Processing sketches that use PTreeMappa will now run as applets without generating a security exception.
-
treeMappa.jar now runs correctly as a stand-alone application (previous version was missing the manifest file
that allows .jar files to be run from the command line).
New to Version 3.0.0
-
treeMappa is now fully open source under the LGPL licence. See the
treeMappa Google code pages for details.
-
New class
PTreeMappa for easy integration with Processing.
-
Numerous minor changes to the underlying software for easier integration with Processing. None of these changes
should have any impact on the command line use of treeMappa.
New to Version 2.7.1 (Bug fix and API enhancements only)
-
Statistical summary now ignores all sub-pixel nodes when calculating mean aspect ratio and other
statistics.
-
[API] When calling
TreeMapNode 's getLevel() and getMaxDepth()
methods, results are now always current even after any methods that alter the tree topology are called.
-
[API]
TreeMapNode now calculates hierarchy level automatically when a node is added to a tree.
Constructors now no longer take a 'level' argument.
-
[API] Hidden
TreeMapNode 's setArea() , setRectangle() ,
resetAccumulation() and accumulateSize() methods as these should never need to
be called on a node-by-node basis.
-
[API] Added custom sorting methods to
TreeMapNode by providing a Comparator to
sortDescendants() and sortChildren() .
-
[API] Added
setWidth() and setHeight() methods to TreeMappa to allow
the size and aspect ratio of the entire tree to be changed.
-
[API] Added a
getNeedsBuilding() method to TreeMappa to indicate if some change
has been made that will affect treemap layout, but a call to buildTreeMap() has not yet been
made. Note that this method will not respond to any direct changes to TreeMapNode s that
have not been issued via a TreeMappa object.
-
[API] The
sizeValue parameter of a TreeMapNode is now provided as a
Float object. If this is null, the size of the node is found by accumulating the sizes of
all its descendants. If not null, this value is used for the node's size regardless of the accumulated
sizes of its children. Added a setSizeValue() method to TreeMapNode to allow this
size to be changed once a tree has been created.
New to Version 2.7
-
Treemap configuration options can now be saved and loaded with the command line options
saveConfig
and loadConfig . The configurations are stored in an XML file that can either be generated and
edited externally or retrieved from previous saveConfig files.
-
Label fonts can now be set from the command line with the
leafTextFont and textFont
commands (leaf and branch fonts respectively. Since font availabilty is system dependent, if the given font
is not found, unknown font commands will default to a Sans serif font.
-
By default, TreeMappa does not now show the cascading tree view of the tree at the top of the window. To show
the cascading tree view, set the configuration parameter
showTreeView to true .
-
Non-graphical output can be generated by setting the configuration parameter
textOnly to
true . This allows treemap coordinate files to be written as part of a command line script
without invoking any GUI. Note that this option cannot be used to save graphic file formats such as
SVG or raster image files.
-
Reporting of progress as a treemap loads data, builds tree and displays it can now be
turned on or off with the
verbose option. The default is false so only errors
are reported to the console.
- Fixed bug that prevented text labels from being displayed on some Java versions on MacOSX
(java bug).
New to Version 2.6
-
Vertical labels, both leaf and branch nodes, can be placed by setting the new parameter
allowVerticalLabels to true . This will only place nodes vertically if doing so
increases the text size beyond the horizontal text size and that horizontal size is less than the maximum
text size set for the node.
-
Multi-line text labels now centre all lines rather than left-justify and centre around longest line.
-
Fixed bug that could cause NullPointerException if the border of a branch node was larger than the size
of the node. Now, in such cases, the border is shrunk until there is sufficient space to show the node.
-
Border colour can now be controlled with the
borderColour parameter, which takes a #rrggbb
string in hex format. Note that alpha values are ignored since transparancy of borders is attenuated with
node depth.
-
Random 'evolutionary' colour scheme now uses a less saturated, brighter colour scheme.
-
Added
randColourLevel to assign the deepest level of the hierarchy to receive random colours
if not defined in input file. Levels below this one will inherit their parent colour with a random mutation.
The degree of mutation can now be controlled with mutation set between 0 (no mutation) and 1
(maximum mutation).
-
Dummy nodes can now be represented in CSV files by giving them a negative size value. The negative magnitude
of the size value indicates the size of the dummy node. Dummy nodes are not drawn but their space is preserved.
Statistical summaries ignore the presence of dummy nodes except for their displacement effect on other
non-dummy nodes.
-
Statistical summary R-sq value now compares order-distance from global origin, not a node's immediate parent's
origin. This gives a more meaningful measure of node placement consistency for trees with depths greater than 1.
-
The verison of TreeMappa can now be found by issuing the
-version command line option.
New to Version 2.5
-
Appearance of displacement vectors can now be controlled at different levels of the hierarchy - both
showBranchDisplacement and vectorWidth have [n] options
allowing these settings to be controlled independently at different levels. Displacement vector width for
leaves can now be set regardless of their level in the hierarchy with leafVectorWidth .
-
Layout alignment can now be controlled to use horizontal or vertical strips rather than chosing the
alignment that maximises aspect ratio. This constraint can be set for all, some or none of the levels
of the hierarchy.
-
A new format 'CSVSpatial' allows nodes to have independent spatial locations at different levels in the
hierarchy.
-
Corrected bug that prevented .jpg and .bmp files from being saved correctly (cannot save transparency
in these formats). Corrected bug that produced corrupt SVG files. SVG output now places text on top of
all treemap nodes.
-
Branch and leaf text label colours can now be set independently at different levels. Colours can now be
specified as RGBA hex values so transparancy can also be controlled independently at each level. Label
colours and transparency now fully represented in SVG output.
New to Version 2.4
-
Output can now be saved as a shapefile. If treemap nodes have a spatial location, the shapefile will be
scaled to the minimum enclosing rectangle of all spatial nodes. The attributes of the shapefile (stored
in the DBX file) are:
TreemapID Label Size Colour Depth Leaf
Where Label , Size and Colour are those defined in the treeMappa
input file. Depth is the hierarchy depth of a given node where the root node is 0.
Leaf is Y if the node is a leaf, or N if it is a branch.
-
The
useLabel option determines if the text label in a CSV file (the first item) is used as
part of the hierarchy or not. If false, the leaf nodes are represented by the last item in each CSV row
and given the label of the first item.
-
Displacement vector arrow heads can be turned on/off and now symbolise the leaf node that has been displaced.
-
Statistical summary now includes 'readability' (Bederson et al, 2003), r-squared distance from origin
(squarified/ordered squarified only) and average vector distance and angular displacement for spatial data.
-
Random colours can now be reproduced by setting a 'seed' parameter to any long integer (a given seed value
will produce the same set of random evolutionary colours every time).
-
A number of parameters can now be set for specific levels in the tree hierarchy in the same treemap.
Currently the following parameters can be set in this way:
layout , border
and maxBranchText . To do this, append a number after the paramater, with no spaces, to
indicate the level in the hierarchy that the given parameter applies to, where 0 is the root level. If no
number is supplied, the given parameter is applied to all levels in the hierarchy. This can be overridden
by applying a level-specific parameter after calling a general layout. For example,
layout orderSquarified layout2 spatial layout3 sliceAndDice
border 0 border1 10 border2 5
The first example would apply the ordered squarified layout to levels 0,1 and anything above 3, the spatial
layout to level 2 and the slice and dice layout to level 3. The second example would apply a border of 0 to
all levels except level 1 which would have a border of 10 units and level 2 that would have a border of 5 units.
-
Important: CSV file format has now been enhanced, with column 2 used to provide 'order'. Any numeric
values can be used with the lower the number the higher the order. This saves from having to add small amounts
to the 'size' value to explicitly control node order, and allows order to be completely independent of any
other node characteristic. If any sibling nodes have the same
order value, they are sorted by
their relative size, and then colour value. The full list of CSV column headings are now:
Label, Order, Size, Colour, x, y, Level0, Level1, Level2 etc.
To use the pre-v.2.4 CSV format (where size and colour value control node order), set the type
parameter to csvCompact .
New to Version 2.3
-
4 new 'pivot' layouts (see Bederson et al, 2003) including a spatial pivot layout (see Mansmann et al, 2007).
-
Ability to display raw colours where the 'colour' value in a CSV file represents the 24 bit RGB value
(useful for displaying CIELab and other 2d colour values). To use raw colours, the colour table file should
contain the following two lines only:
<?xml version="1.0" ?>
<colourTable raw="true" />
-
Ability to overlay displacement vectors for nodes with geographic location. Width of displacement vectors can
be controlled with the
vectorWidth parameter, which can be a decimal width if necessary (default
width is 0.3 pixels). Label text colour can be set with an HTML style hex value using the 'textColour' parameter.
New to Version 2.2
-
New stripmap (with lookahead) and slice and dice layouts available.
-
SVG output possible (just name output file with a .svg extension).
-
Transparency of labelling can be turned on or off (useful for image formats that don't have transparency defined).
-
First level of hierarchy is now in a bolder font when labelled.
-
Spatial layout now defaults to ordered squarified layout if sibling nodes share the same location.
-
Treemap window now appears in centre of screen.
-
Node labels over multiple lines can now be defined by inserting a '
\n ' (without quotes) at the
new line position(s).
New to Version 2.1
-
Implementation of the spatial treemap layout. Set the
layout option to spatial to
generate the spatial ordering of nodes.
New to Version 2.0
-
Ability to zoom and pan the treemap with by dragging the left and right mouse buttons.
-
An output image of dimensions specified by the given
width and height parameters
can be created using the imageFile option.
-
To stop node labels from filling the entire space of their node, a maximum text size can be set using
maxLeafText and/or maxBranchText (both specified as a point size).
-
For files without colour specification, V2 uses an improved random colour generation that should result in
greater contrast in hue of the first level nodes in the tree.
|
|