PlotSet LogoPlotSet

How to Create a Treemap

A step by step walkthrough for turning a spreadsheet into a published treemap in PlotSet, from shaping the category and parent columns to exporting or embedding the finished tiles.

About 8 minutes

This is how to create a treemap in PlotSet from your own spreadsheet: tiles sized by value, grouped by hierarchy, coloured on purpose, then published as a live embed or exported as an image. Your own rows go through the same upload-to-publish path a real PlotSet treemap takes, including the one column that trips people up: the parent.

If your spreadsheet already has a category, a parent and a value in three columns, eight minutes gets the whole thing done. Pulling the data out of a pivot table first adds another five, since pivot exports usually carry subtotal rows that need to come out before the tiles will size correctly.

The data you need

Three columns, one row per tile: the category name, its parent group (blank for a top-level tile), and a positive number. One header row, no subtotal rows.

Sample CSV
CategoryParentRevenue
North America4200000
Europe3100000
Asia Pacific1800000
United StatesNorth America3300000
CanadaNorth America900000
GermanyEurope1400000
FranceEurope900000
United KingdomEurope800000
JapanAsia Pacific1100000
AustraliaAsia Pacific700000
Notes

Leave the parent column blank for a top-level row, not filled with a placeholder like "None" or "Top". A blank cell is how PlotSet knows a tile has no ancestor; a text placeholder gets read as an actual parent name and adds a stray tile.

Every value must be zero or greater. A negative revenue or a loss row will not render as a tile, since a rectangle cannot have negative area, so pull those rows into a separate table before you upload.

If you are working from a pivot table, delete the grand total and subtotal rows first. A "Total" row uploaded alongside real categories becomes a tile of its own, usually the largest one on the page.

A flat treemap with no hierarchy works too: just leave the Parent column out entirely, or leave every cell in it blank, and every row becomes a top-level tile.

Parent names have to match a Category value exactly, including case and spacing. "north america" in the Parent column will not find "North America" in Category, and that child tile gets dropped.

The steps

The exact click path in PlotSet, from a blank template to a finished chart.

  1. 01

    Open the treemap template

    From the PlotSet dashboard, start a new project and choose the Treemap template. It loads with sample data already bound, tiled by category, parent and value, so you can see the exact three-column shape before you swap in your own file.

    PlotSet's template picker: chart categories listed down the left, the Bar Charts grid open, and the Bar Chart template card showing its Select button.
    Every guide starts here. Pick the category, then the template: it is the same grid whichever chart type you are after.
  2. 02

    Shape your sheet into category, parent and value

    One row per tile: its name, the group it sits inside, and its size. If your source is a pivot table or a finance report, pull those three fields out into a plain flat sheet first. No merged cells, no subtotal rows.

  3. 03

    Upload the sheet or connect a live one

    Use the data panel to import a CSV or .xlsx file, paste rows straight from a spreadsheet, or connect a Google Sheet so the treemap can be refreshed later without a re-upload. PlotSet reads the first row as headers.

    The PlotSet editor's data view: a spreadsheet grid with Name, Value and Region columns filled with Canadian province figures, beside the Data panel offering CSV upload, Magic Import and Google Sheet sync.
    The data view, shown here on a bar chart project. Upload a CSV, lift the numbers out of an image with Magic Import, or sync a Google Sheet. The panel is identical for every chart type.
  4. 04

    Map the category, parent and value columns

    Confirm which column feeds the tile name, which one feeds the parent group, and which one sizes the tile. PlotSet usually guesses right when your headers are clear, but check it manually if your sheet has extra columns sitting between them.

    The PlotSet data panel with the column bindings highlighted: Label/time mapped to column A, Values to column B and Filter/color to column C, with the Auto Binding button below.
    Bindings decide which column becomes the label, which supplies the values and which drives the colour. Auto Binding guesses them from your headers, so check it rather than assume it.
  5. 05

    Check the hierarchy renders the way you expect

    Look for a top-level tile that is really a stray parent name, or a child tile that vanished because its parent value did not match exactly. Fix mismatches in the source sheet and re-upload rather than patching the chart by hand.

  6. 06

    Colour by group, not by size

    Size is already spoken for by the tile's area. Set the colour scale to the parent group so the hierarchy reads at a glance, or switch it to a second numeric column, growth rate or margin, if you want colour to carry a different story than area does.

    The PlotSet editor on the Preview tab: a finished Treemap on the canvas, with the settings panel outlined in red down the right-hand side.
    The Preview tab for a Treemap. Every styling control lives in the outlined panel, each on its own tab: appearance, header, footer and the options specific to this chart type.
  7. 07

    Turn on labels for the tiles big enough to hold them

    PlotSet hides labels automatically once a tile gets too small to fit text without overlapping its neighbours. Leave that behaviour on rather than forcing every tile to label, and rely on the hover tooltip to surface the exact value for the small ones.

  8. 08

    Publish, embed or export the tiles

    Publish for a live interactive treemap with hover tooltips and a shareable link, grab the embed code to drop it into a page, or export a PNG, SVG or PDF if you need a static image for a deck or a report.

Start from the Treemap template with sample data already loaded, then swap in your own.

Open the template

Publish, embed or export it

The last stretch is the same for every chart type: Share turns the chart into a live public link and an embed code, Export writes it out as a static file.

Share: public link and embed code

Activating the embed code and public link publishes the chart. The link is safe to send to anyone, and the embed code drops into any page as an iframe that keeps the hover tooltips and the interactivity. Edit the chart later and hit Recreate to push those changes out to both.

The PlotSet editor toolbar with the Share button highlighted, sitting next to the Export button.
Share is how a finished chart becomes a public link and an embed code.
PlotSet's Share dialog: the toggle activating the embed code and public link, buttons for Link, Embed, Facebook, Reddit, Twitter, LinkedIn and Email, and the public chart link with a Copy button.
Switch on the embed code and public link, then copy the link or take the iframe. Recreate pushes later edits out to everyone already holding it.

Export: SVG, PNG or JPG

Export writes a static copy at whatever size you need. SVG stays sharp at any scale and can still be edited in a design tool; PNG and JPG are the safe choices for slides and documents. The scale multiplier is what gets you a crisp image on a retina screen.

The PlotSet editor toolbar with the Export button highlighted.
Export is the route to a static file for a slide or a report.
PlotSet's Export chart dialog: a 2x scale selector, width and height fields set to 1000 by 600, and the open format menu listing SVG, PNG and JPG.
SVG stays sharp at any size and stays editable in a design tool; PNG and JPG are the safe picks for a deck. Set the scale before you export so the image is crisp on a retina screen.

Styling tips for a Treemap

Group the long tail into one tile

If your data has three big categories and forty tiny ones, the tiny ones will shrink into unreadable slivers regardless of how you colour them. Sum the small rows into a single "Other" row before upload, and mention in a caption what it covers.

Use colour for the second variable you actually care about

A treemap gives you two channels to work with: area for value, colour for anything else. Wasting colour on the same value the area already shows (a common default) throws away half the chart's power. Try colouring by year-over-year change instead.

Keep the hierarchy to two levels

PlotSet will nest a third level, but by the time tiles are three groups deep, individual rectangles are too small to compare or even see. If your data goes deeper, pick the two levels that matter most to the reader and flatten the rest.

Name the "Other" bucket specifically

"Other" on its own reads as a shrug. "Other: 14 regions under $50k" tells the reader exactly what got folded in and why it is not broken out, without them needing to ask.

Common mistakes when making a Treemap

A tile is missing even though the row is in the sheet

The parent name in that row almost certainly does not match a category value exactly, often a trailing space or a different capitalisation. Compare the two columns directly in the spreadsheet, fix the mismatch, and re-upload rather than editing inside PlotSet.

One enormous tile dominates the whole treemap

This is usually a subtotal or grand total row from a pivot export that got uploaded as if it were a real category. Scroll to the bottom of the source sheet, delete the totals row, and re-upload.

Half the tiles are unlabelled and it looks broken

It is not broken: PlotSet is hiding labels that would overlap or overflow a small tile. Check the hover tooltip to confirm the value is still there, and if you need more tiles labelled, group the smallest ones into an "Other" tile so the remaining ones have more room.

Learn more about the Treemap

Not sure the Treemap is the right choice? See what it is, when to use it and when not to.

About the Treemap

Treemap: common questions

Three columns: category, parent, and value, with one row per tile. Leave the parent blank for top-level tiles, or drop the column entirely for a flat treemap with no hierarchy. CSV and .xlsx both work.

Make your Treemap now

Free to start with 300+ templates. No credit card required.