this post was submitted on 05 Nov 2025
39 points (100.0% liked)

Biology

3077 readers
5 users here now

This is a general community to discuss of all things related to biology!

For a more specific community about asking questions to biologists, you can also visit:

/c/askbiologists@lemmy.world

founded 4 years ago
MODERATORS
 

ITIS Tree of Life

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?

you are viewing a single comment's thread
view the rest of the comments
[–] Bademantel@lemmy.world 3 points 1 month ago

That's amazing, dude. Thanks for sharing.