Sunburst or Polar Treemap Plot and Range Plot
Updated 6 Sep 2020
plotdemo.m will generate the figure shown in the image.
sunburstplot.m creates polar treemap of hierarchical data. The data can either be supplied as .csv or through interactive selection in an excel spreadsheet. Data should be without any headers. All columns should contain sector labels except the optional last column which can contain numbers associated with each category. The plot nomenclature is as follows:
1. First circle is referred to as root (root usually contains the title of plotted data)
2. Second circle is referred to as branches (used to assign colors as in excel)
3. Higher circles/rings are referred to as leaves (Currently only three leaves are allowed)
The visualization of sector labels can be improved by measuring the extent of sector and adopting accordingly. The code is written in a loop fashion instead of in a recursive fashion which can reduce code lines but becomes difficult to understand (this is the case for myself).
Majority of the sunburst data (data in testdata.csv and testdata.xlsx) is taken from: https://plotly.com/python/sunburst-charts/
rangedotplot.m is a modified version of plotStickers to visualize ranges and highlight any value within that range
Muhammad Tauha Ali (2023). Sunburst or Polar Treemap Plot and Range Plot (https://github.com/tauha18/sunburst-and-range-plot), GitHub. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired by: donut, plotStickers | Plot data series with patch stickers to represent value range, Generate maximally perceptually-distinct colors
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Versions that use the GitHub default branch cannot be downloaded
Updated sunburstplot to have radial option for label rotation, ability to specify clockwise or ccw plotting diection and starting angle and added separate patch and text handles.