PlotSet LogoPlotSet

How to Create a Bullet Chart

A step by step walkthrough for turning a table of KPIs, targets and thresholds into a published bullet chart scorecard in PlotSet, with target ticks and performance bands.

About 6 minutes

A column of horizontal bars, each with a target tick and shaded performance bands behind it, one per KPI: that is what you will have. It is a scorecard that shows how each measure compares with its goal and whether the result is poor, fair or good.

If your actuals and targets are already in a spreadsheet, it takes about six minutes. The one thing worth deciding up front is whether your rows share a unit, because that sets the scale mode.

The data you need

One row per KPI with a name, the actual value, an optional target, and up to three optional band thresholds, each the upper bound of its band.

Sample CSV
KPIActualTargetPoorSatisfactoryGood
Revenue ($K)275250150225300
Profit Margin (%)1822101624
Marketing ROI (x)3.24.023.55
Notes

The band columns are upper limits measured from zero, not widths. Poor 150, Satisfactory 225 and Good 300 draw nested bands to 150, 225 and 300.

Use between one and three band columns. The darkest band sits nearest zero.

The target column is optional and draws a vertical tick across the bar.

Keep the row order the way you want it read, since rows appear top to bottom in sheet order.

The steps

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

  1. 01

    Open the Bullet Chart template

    From the PlotSet dashboard, start a new project and choose Bullet Chart from the Bar Charts category. It loads with a ten-KPI sample so you can see how each row becomes a bullet.

    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

    Prepare your KPI table

    Put one KPI on each row with its actual value, then a target and band thresholds if you have them. Decide whether the rows share a unit, because that drives the scale.

  3. 03

    Upload the file, or connect it live

    Import a CSV or .xlsx file from the data panel, paste rows from a spreadsheet, or connect a Google Sheet so the scorecard updates when the sheet does. The first row is read as the 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

    Check the column bindings

    Confirm which column is the label, the value, the target and each band range. This is usually right automatically when the headers are clear.

    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

    Choose a scale mode

    Open the Value axis tab. Per row, the default, gives each KPI its own scale and suits mixed units. Shared uses one axis and suits rows in the same unit where comparing across them matters.

    The PlotSet editor on the Preview tab: a finished Bullet Chart on the canvas, with the settings panel outlined in red down the right-hand side.
    The Preview tab for a Bullet 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

    Style the measure, target and bands

    Use the Measure and Target tabs to set bar thickness and tick width, and the Color tab for the bar, target and band colours. The Bands tab can switch the background ranges off.

  7. 07

    Set the labels and spacing

    In the Labels tab choose whether values sit inside the bar, outside it or are hidden. The Rows tab sets row height and the gap between rows.

  8. 08

    Publish it or export it

    Publish for an interactive embed with tooltips, or use Export to download a PNG or SVG for a report or slide.

    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.

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

Pick band colours that read as a scale

Shades of one colour, darkest nearest zero, keep the bands quiet so the bar and tick stand out.

Explain the tick once

Add a footer note such as target shown as a vertical tick, so a first-time reader does not have to guess.

Order by importance

Rows read top to bottom in sheet order, so put the KPIs that matter most first.

Keep the artboard tall enough

Ten rows need height. Increase the artboard height or reduce row height before the labels start to shrink.

Common mistakes when making a Bullet Chart

A KPI bar looks tiny

You are probably on a shared scale with mixed units. Switch Value axis to Per row.

The bands look wrong

Check that the band columns hold upper bounds, not widths, and that they increase from left to right.

No target tick appears

The target column may be unbound or blank for that row, or the Target tab has the tick switched off.

Some labels are smaller than others

Labels shrink to fit before any are dropped. Shorten the KPI names or give the chart more width.

Learn more about the Bullet Chart

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

About the Bullet Chart

Bullet Chart: common questions

A name and an actual value for each KPI. A target and up to three band thresholds are optional.

Make your Bullet Chart now

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