Nikolaydubina Treemap

🍬 Pretty Treemaps

🍬 Pretty Treemaps

Looking to run this for Go coverage? Check https://github.com/nikolaydubina/go-cover-treemap

Uses "Squarified Treemaps" (Mark Bruls, Kees Huizing, and Jarke J. van Wijk., 2000) algorithm.

``````\$ go install github.com/nikolaydubina/treemap/cmd/treemap@latest
\$ echo '
Africa/Algeria,33333216,72
Africa/Angola,12420476,42
Africa/Benin,8078314,56
...
' | treemap > out.svg
``````

``````\$ ... | treemap -w 1080 -h 360 > out.svg
``````

``````\$ ... | treemap -w 1080 -h 1080 > out.svg
``````

Imputing heat

``````\$ ... | treemap -impute-heat > out.svg
``````

Different colorscheme

``````\$ ... | treemap -color RdYlGn > out.svg
``````

Tree-Hue coloring when there is no heat

``````\$ ... | treemap -color balanced > out.svg
``````

Without color

``````\$ ... | treemap -color none > out.svg
``````

Format

Size and heat is optional.

``````</ delimitered path>,<size>,<heat>
``````

Algorithms

• `Squarified` algorithm for treemap layout problem. This is very common algorithm used in Plotly and most of visualization packages. "Squarified Treemaps", Mark Bruls, Kees Huizing, and Jarke J. van Wijk, 2000
• `Tree-Hue Color` algorithm for generating colors for nodes in treemap. The idea is to represent hierarchical structure by recursively painting similar hue to subtrees. Nikolay Dubina, 2021

Welcomed!

Appendix A: Long Roots

When roots have one child multiple times it takes extra vertical space, which is very useful for narrow final dimensions.

Can collapse them into one node

Long roots without collapsing somewhere deep inside

Long roots with collapsing somewhere deep inside

Appendix B: Less Illustrative Examples

Large dimensions and large tree (e.g. `github.com/golang/go`)

``````\$ ... | treemap -w 4096 -h 4096 > out.svg
``````

Open Source Agenda is not affiliated with "Nikolaydubina Treemap" Project. README Source: nikolaydubina/treemap
Stars
129
Open Issues
10
Last Commit
4 weeks ago
Repository