- cross-posted to:
- [email protected]
- cross-posted to:
- [email protected]
cross-posted from: https://mander.xyz/post/41224832
Just finished another visualization of entire taxonomy tree. Previous is buried here: GBIF ToL.
Main concept is very simple: each taxon is a point, and each taxon has a clockwise-bent arc from it’s parent taxon.
Trick is to place those points in a meaningful way. At first, I was using force-directed algorithm to do it. In general, it succeeded in grouping points by clades, but introduced a lot of branch overlapping (check how purple Echinodermata is “intruded” into Arthopoda in GBIF version).
Force-directed algorithms can layout not only trees, but basically any graph, and I thought: maybe tree-specific algorithm will produce a better result? I’ve found out there is a cool Voronoi Treemap algorithm which for any given tree can build a set of nested polygons, a polygon for each node in a tree. Not only it eliminates branch overlapping problem, but also it ensures those branches fit into convex polygons and you can even add gaps between adjacent branches. So I’ve built a CLI wrapper around a Java implementation I’ve found on GitHub.
At first, I’ve used it for NCBI database, but I didn’t use gaps and haven’t published interactive version yet (but there are PNGs in Wikimedia Commons). Then, I’ve made a treemap for ITIS. Points are points and polygons have been used for mouse hover feature. When I was making force-directed GBIF, I had to separately compute those polygons for each clade of given ranks. Now both points and polygons are computed by an algorithm, which is nice.
What do you think?


It would’ve been zero fun and same amount of success. Basically, creating a new taxonomy database while a lot of them already exist. I didn’t expect there are so many taxonomy databases, almost all of them being backed by scientific organizations and being freely accessible and downloadable. Other areas (books, movies, history) are not even close to this diversity of data sources.
Apart from Gephi Commander (already on Github), which is used for generating PNG tiles when you already have x and y for every taxon, there is also a CLI tool to build Voronoi (assign x,y) and another CLI tool to split those points across zoom levels and PBF vector tiles. Neo4j as a database and Powershell to bring all of this to life.
Not a fan either. There was another tool looking similar to Voronoi, made by a person working in scientific organization, but I can’t find it right now… There is a lot of interesting on this topic.
Oh right, now I see that you made very different network graphs based on all kinds of example data. I come from the opposite direction. I worked with a lot of ecological datasets, analyzing and plotting them. But I haven’t messed around with network graphs a lot. Maybe I’ll try to do my own version in R or python (I don’t know any java, so I cannot really understand your code). Because I’m really fascinated by the idea of having a nice rendering of the tree of life!