TreeGradients is a tree drawing program. The tree drawing options are fairly basic but the program has the ability to plot several types of continuous variables at the nodes in colors and use linear color gradients to fill the branches between nodes. The output format is SVG (scalable vector graphics), which can be imported in most vectorial drawing software.

The program has various applications. First, it can be used to plot continuous characters along a tree. Second, for ML ancestral state reconstructions of binary or three-state characters, the script can plot probabilities of the character states along the tree. I also find it useful to visualize topological uncertainty in phylogenetic trees by drawing poorly supported nodes in lighter shades of gray. This is especially useful to identify regions of bigger trees in which support is lacking.

The program does not reconstruct ancestral states; these have to be generated elsewhere. TreeGradients consists of two Perl scripts. The first script, reads phylogenetic trees in Newick format and converts them to the phyloXML format. It can annotate the phyloXML file with results from ancestral state reconstruction software or user-specified values for ancestral nodes. The second script,, plots the tree to a SVG file. An additional R script, ace2tg.R, can be used to save output obtained with the ace command from the R package ape in a format that can be easily read by

Downloads and user guide v.1.03 download script (.tar.gz) — user guide v.1.03 download script (.tar.gz) — user guide
ace2tg.R v.1.00 download script (.tar.gz) — user guide
examples v.1.03 download examples (.tar.gz) — instructions


If you find this software useful, please cite it in your work. I recommend citing it as follows:
Verbruggen H. (2012) TreeGradients version 1.03.

Notes and disclaimer

TreeGradients is in development and has not been tested extensively. It is quite plausible that incorrectly formatted input could lead to nonsensical output. In such cases, you should double-check your input, compare it to the example files and try again. If this still doesn't work, please feel free to write me an email (

TreeGradients is open-source and distributed according to the GNU General Public License. The program is provided "as is" without warranty of any kind, either expressed or implied. The entire risk as to the quality and performance of the program is with you. Should the program prove defective, you assume the cost of all necessary servicing, repair or correction. The author will not be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the program (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the program to operate with any other programs).

Example output

Reconstructed states for minimum sea surface temperature plotted along a phylogenetic tree of 92 species of the marine green algal genus Codium.

Plotting character state probabilities of a fictitious three-state character using a triangle gradient.

Bootstrap support plotted in shades of gray. When applied to big trees, this method allows quick identification of regions in the tree with low support.