PlotSet LogoPlotSet

How to Create a Stacked Column Chart

A step by step walkthrough for turning a spreadsheet into a published stacked column chart in PlotSet, from shaping the columns to ordering the stack and exporting the result.

About 8 minutes

This guide covers how to create a stacked column chart in PlotSet, starting from a raw spreadsheet and ending with a chart you can publish, embed or export. You will end up with columns that show both a total and the parts underneath it, stacked in an order you chose on purpose, not whatever order your spreadsheet happened to list the columns in.

Eight minutes, roughly, if your data already sits one row per period with a clean numeric column for each segment. Pulling those numbers out of a pivot table first adds a few more, and it's the step most people underestimate: flattening a wide report into the one-row-per-period shape this chart actually needs.

The data you need

One row per time period or category, with the period in the first column and one numeric column per segment. Every numeric column becomes one band in the stack, in the order the columns appear.

Sample CSV
QuarterNewRenewalExpansion
Q1 202512000034000045000
Q2 202514500036000052000
Q3 202513800037500061000
Q4 202516200039000074000
Notes

Keep the period column as plain text, not a date field. If a spreadsheet auto-converts "Q1 2025" into a date, PlotSet will chart whatever that date resolves to, not the label you typed.

Do not add a Total column. PlotSet sums the segment columns itself to draw the full column height, and an extra total column will get read as one more band, roughly doubling every column's apparent size.

Every segment needs its own column with a consistent header across every sheet you upload. A segment named "Renewal" in one file and "Renewals" in another counts as two different bands, not one.

A blank cell in a segment column renders as a zero-height band rather than being skipped, so a quarter with no expansion revenue still needs a 0 in that cell, not an empty one.

The steps

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

  1. 01

    Open the stacked column chart template

    From the PlotSet dashboard, start a new project and choose the Stacked Column Chart template. It loads with sample data already shaped correctly, so you can see the column layout before you touch 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 one row per period

    Put the time period or category in the first column and one numeric column per segment after it. If your source is a pivot table with the segments spread across a wider report, flatten it into this layout before you upload anything.

  3. 03

    Import the file or connect a sheet

    Use the data panel to import a CSV or .xlsx file, paste rows straight from a spreadsheet, or connect a Google Sheet if you want the chart to update later without a re-upload. PlotSet reads the first row as your segment 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

    Confirm the axis column and the segment columns

    Confirm which column feeds the horizontal axis and which columns feed the stack. This is usually correct automatically, but check it if your sheet carries extra columns, like a growth rate or a note field, that should not be charted as a band.

    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

    Set the stack order

    Drag the segments into the order you want them to appear, bottom to top. Put whichever series your reader most needs to compare across periods at the bottom, since that is the only band sitting on a shared baseline.

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

    Decide between raw values and percentages

    Leave the chart on raw values if the totals themselves are part of the story. Switch to the 100% stacked variant if you only care about how the share of each segment shifted, since that view normalises every column to the same height.

  7. 07

    Style the bands, add labels, and publish

    Give each segment a distinct colour, turn on a total label above the column if the sum is worth calling out, and confirm the value axis starts at zero. Then publish for a live embed with hover tooltips, or export a PNG, SVG or PDF.

Start from the Stacked Column Chart 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 Stacked Column Chart

Bottom slot goes to the series you actually compare

Every band above the bottom one floats at a different starting height in each column, which makes it hard to compare by eye. If your reader needs to track one segment closely across periods, put that segment on the baseline, not the total.

Add a total label when the sum is the headline

Reading a stacked total off the value axis is imprecise, since it means adding up several segment heights by eye. If the total itself is news (revenue crossed a milestone, headcount hit a target) turn on the label that prints it above the column.

Only switch to 100% stacking if totals genuinely do not matter

The percentage view hides the totals completely to make shares easy to compare. That is the right trade when a reader only cares about proportion, and the wrong one the moment someone asks "but how big was Q3 actually?"

Pick colours that stay distinct at three bands and start to break at six

A handful of clearly different hues works for two to five segments. Once you are past five, either merge the smallest categories into an "Other" column before upload, or the bands start blurring into a colour gradient nobody can read accurately.

Common mistakes when making a Stacked Column Chart

One column is far taller than the rest

This almost always means a segment column snuck in that duplicates a total, or one column is in different units than the others (dollars next to thousands of dollars). Check every segment column for a matching scale before you upload again.

The bands appear in a different order in different columns

PlotSet stacks columns in the order the segment columns are mapped, so this happens when a later batch of rows was pasted in with the segment columns rearranged. Open the data table and confirm every row uses the same column order and the same header spelling.

A small segment disappears or blends into its neighbour

Thin bands with similar default colours are hard to see, especially past four or five segments. Either assign that segment a colour that stands apart from the ones next to it, or roll the smallest categories into an "Other" column before you upload.

Learn more about the Stacked Column Chart

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

About the Stacked Column Chart

Stacked Column Chart: common questions

One row per time period or category, with the period in the first column and one numeric column per segment after it. Each of those numeric columns becomes one band in the stack, so a chart with three segments needs exactly three value columns plus the period column, and no separate total column.

Make your Stacked Column Chart now

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