Skip to content

excel chart treemap

zmworm edited this page Apr 29, 2026 · 16 revisions

Excel: Chart - treemap

A dedicated page for the treemap chart type. Treemaps are part of Excel's cx:chart (extended chart, Office 2016+) family. They display hierarchical data as nested rectangles where each cell's area is proportional to its value.

Path: /{SheetName}/chart[N]

Add command shape:

officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=treemap \
  --prop series1="Name:v1,v2,v3,..." \
  --prop categories="Cat1,Cat2,Cat3,..." \
  <styling props>

See also: Chart - add, Chart - set, histogram for the full cx styling reference.

What a treemap is

A treemap divides a rectangular area into nested tiles where each tile's area is proportional to its value. Categories provide the cell labels, and colors cycle through the palette to visually distinguish cells. Treemaps are ideal for showing composition and relative size at a glance (e.g. disk usage, revenue by product, portfolio allocation).

officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=treemap \
  --prop title="Revenue by Product" \
  --prop series1="Revenue:400,300,200,150,100,80,50" \
  --prop categories="Product A,Product B,Product C,Product D,Product E,Product F,Product G"

Treemap-specific properties

Property Default Notes
parentLabelLayout overlapping How parent category labels are placed in multi-level treemaps
Value Description
overlapping Labels overlap children (default)
banner Labels in a separate banner strip above children
none No parent labels
officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=treemap \
  --prop series1="Sales:400,300,200,100" \
  --prop categories="A,B,C,D" \
  --prop parentLabelLayout=banner

officecli set data.xlsx /Sheet1/chart[1] --prop parentLabelLayout=none

Layout knobs

Property Default Notes
x / y 0 Top-left cell position (column / row index)
width 8 Chart width in column units
height 15 Chart height in row units

Series colors

Property Default Notes
fill (theme) Single hex color for all cells: "4472C4" or with #. Internally stored without #.
colors (theme) Comma-separated hex colors, cycled across cells. E.g. "4472C4,ED7D31,A5A5A5,FFC000"
series.shadow / seriesshadow Outer drop shadow on every cell: "COLOR-BLUR-ANGLE-DIST-OPACITY" (e.g. "000000-6-45-3-35") or "none" to remove

Data labels

Property Default Notes
dataLabels false true draws the value inside each cell
datalabels.numfmt / labelnumfmt Excel format code for the label text: "0", "0.0", "0.00%", "#,##0", etc.
# Value labels with thousands separator
officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=treemap \
  --prop series1="Revenue:4000,3000,2000,1000" \
  --prop categories="A,B,C,D" \
  --prop dataLabels=true \
  --prop "datalabels.numfmt=#,##0"

Axes and gridlines

Treemaps have no axes and no gridlines. All axis-related properties (xAxisTitle, yAxisTitle, axismin, gridlines, etc.) are silently ignored on treemap charts.

Title styling

Property Default Notes
title Chart title text; none/false to hide
title.color / titlecolor Title font color (hex)
title.size / titlesize Title font size (pt)
title.bold / titlebold Title bold (true/false)
title.font / titlefont Title font family
title.shadow / titleshadow Title drop shadow: "COLOR-BLUR-ANGLE-DIST-OPACITY" or "none"

Legend

Property Default Notes
legend top / bottom / left / right / none (omit legend)
legend.overlay / legendoverlay false Let the legend float on top of the plot area when true. Useful when chart space is tight.
legendfont / legend.font Compound legend text styling: "size:color:fontname"

Plot area and chart area fills

The plot area is the rectangle the treemap cells are drawn inside. The chart area is the outer frame that also contains the title and legend.

Property Default Notes
plotareafill / plotfill Plot-area solid background: hex color
plotarea.border / plotborder Plot-area outline: "color", "color:width", "color:width:dash", or "none"
chartareafill / chartfill Chart-area (outer frame) solid background: hex color
chartarea.border / chartborder Chart-area outline, same grammar as plotarea.border
# "Card" look — light plot area with a subtle border
officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=treemap \
  --prop series1="Revenue:400,300,200,100" \
  --prop categories="A,B,C,D" \
  --prop plotareafill=FAFBFC \
  --prop "plotarea.border=D0D7DE:1" \
  --prop chartareafill=FFFFFF \
  --prop "chartarea.border=E5E5E5:0.75"

Full example: styled treemap

officecli add data.xlsx /Sheet1 --type chart \
  --prop chartType=treemap \
  --prop title="Market Share by Segment" \
  --prop title.color=2B2B2B --prop title.size=18 --prop title.bold=true \
  --prop title.font="Helvetica Neue" \
  --prop series1="Share:350,280,200,150,120,80,50,30" \
  --prop categories="Enterprise,Mid-Market,SMB,Startup,Government,Education,Non-Profit,Other" \
  --prop colors=2E86AB,A23B72,F18F01,C73E1D,3B1F2B,44BBA4,E94F37,393E41 \
  --prop parentLabelLayout=banner \
  --prop dataLabels=true --prop "datalabels.numfmt=0.0%" \
  --prop plotareafill=F8F9FA \
  --prop "plotarea.border=DEE2E6:1" \
  --prop chartareafill=FFFFFF \
  --prop "chartarea.border=CED4DA:0.75" \
  --prop legend=bottom \
  --prop "legendfont=10:6C757D:Helvetica Neue" \
  --prop x=0 --prop y=0 --prop width=14 --prop height=20

HTML preview support

Feature Preview Notes
Squarified layout Yes Bruls et al. algorithm
Proportional cell areas Yes
Per-cell colors Yes Cycled through palette
Cell labels Yes Hidden when cell is too small (<40px wide or <18px tall)
White cell borders Yes
Plot/chart area fills Yes

Known quirks and limitations

  • No axes. Treemaps are a pure area-proportional visualization with no axes or gridlines. All axis-related properties are silently ignored.
  • parentLabelLayout only matters for multi-level treemaps. With a single flat list of categories, all three values produce identical output.
  • Preview font fallback. The HTML preview renders cell colors and fills correctly but does not reproduce custom font families — labels fall back to the preview's default sans font. Use Excel for final typographic QA.

Inspect an existing treemap

# Count all charts across the workbook
officecli query data.xlsx chart

# Introspect a single chart's bound properties
officecli get data.xlsx "/Sheet1/chart[1]"

# Render the sheet to HTML preview
officecli view data.xlsx html > preview.html

See Also

  • Chart — Overview of chart operations
  • Chart add — Generic chart add (all 17 types)
  • Chart set — Modify existing charts (incl. treemap)
  • Chart get — Read back chart properties
  • sunburst — Ring-based hierarchy
  • funnel — Pipeline stages
  • histogram — Full cx styling reference

Based on OfficeCLI v1.0.64

Clone this wiki locally