ms_treemapchart: Treemap chart object

View source: R/ms_treemapchart.R

ms_treemapchartR Documentation

Treemap chart object

Description

Creation of a treemap chart object that can be inserted in a 'Microsoft' document. Treemap charts use the chartEx pipeline (Office 2016+); older versions of 'Microsoft Office' will display a fallback placeholder.

Data is hierarchical: one column per level (parent to leaf, left to right) and one numeric column for the leaf values.

Usage

ms_treemapchart(data, path, value, labels = NULL)

Arguments

data

a data.frame.

path

character vector of column names defining the hierarchy, from outermost (root) to innermost (leaf).

value

column name for the numeric leaf values.

labels

unused for now; reserved for future custom data label columns.

Value

An ms_chart object (subclass ms_treemapchart).

Per-leaf coloring with chart_data_fill()

Per-leaf coloring via chart_data_fill() with a named vector works correctly on flat treemaps (length(path) == 1). With a hierarchy (length(path) >= 2), PowerPoint silently re-maps ⁠<cx:dataPt>⁠ indices in a way that drops idx="0" and applies the last specified color to remaining leaves. This is a PowerPoint rendering limitation (also reproducible from Excel-generated chartEx files); the mschart XML output is conformant. For hierarchical treemaps, prefer a single fill color via chart_data_fill(x, "#HEX").

See Also

chart_labels(), chart_theme()

Other 'Office' chart objects: ms_areachart(), ms_barchart(), ms_boxplotchart(), ms_bubblechart(), ms_chart_combine(), ms_funnelchart(), ms_histogramchart(), ms_linechart(), ms_paretochart(), ms_piechart(), ms_radarchart(), ms_scatterchart(), ms_stockchart(), ms_sunburstchart(), ms_waterfallchart()

Examples

library(officer)

dat <- data.frame(
  region  = c("EU", "EU", "EU", "AM", "AM"),
  country = c("FR", "FR", "DE", "US", "US"),
  city    = c("Paris", "Lyon", "Berlin", "NYC", "LA"),
  value   = c(10, 5, 12, 20, 8),
  stringsAsFactors = FALSE
)
tm <- ms_treemapchart(
  data = dat, path = c("region", "country", "city"), value = "value"
)
tm <- chart_labels(tm, title = "Sales by region")

doc <- read_pptx()
doc <- add_slide(doc)
doc <- ph_with(doc, tm, location = ph_location_fullsize())
print(doc, target = tempfile(fileext = ".pptx"))

mschart documentation built on May 17, 2026, 1:09 a.m.