PlotSet LogoPlotSet

How to Create a Bump Chart

A step by step walkthrough for turning a ranked spreadsheet into a published bump chart in PlotSet, from shaping the sheet to publishing the finished tracks.

About 8 minutes

Rank instead of raw value is the input here, and how to create a bump chart in PlotSet turns a spreadsheet with an item, a period and a rank column into a published, interactive chart you can embed or export. You will end up with a set of coloured tracks that cross exactly where the underlying ranking actually changed, with names attached at either end and no legend needed to read it.

If your data already has a rank column, this takes about eight minutes. Add another ten if you are starting from raw values and need to rank them within each period first: that step happens in your spreadsheet, before anything is uploaded, and it is the one most people skip by mistake.

The data you need

Long format, one row per item per period: the item name, the period label, and that item's rank within the period. Three columns, one header row.

Sample CSV
ServiceMonthRank
SpotifyJan1
Apple MusicJan2
YouTube MusicJan3
Amazon MusicJan4
SpotifyFeb1
Apple MusicFeb3
YouTube MusicFeb2
Amazon MusicFeb4
SpotifyMar2
Apple MusicMar3
YouTube MusicMar1
Amazon MusicMar4
SpotifyApr1
Apple MusicApr2
YouTube MusicApr3
Amazon MusicApr4
Notes

The rank column has to be an integer position (1, 2, 3...), not the raw measure. If you only have subscriber counts or scores, rank them within each period first: a RANK formula in your spreadsheet, sorted per period, does this in one column.

Every item needs a row for every period. A period an item is missing from (a product not yet launched, a team relegated out of the league) leaves a gap in that track rather than a smooth line, so decide up front whether to backfill, drop the period, or leave the gap visible.

Two items cannot share a rank within the same period. A tie uploaded as-is either gets silently broken by PlotSet or draws two tracks on top of each other, so resolve ties in the sheet (alphabetical, or a tiebreaker metric) before uploading.

Keep the period column consistent: all month names, all week numbers, all match dates, not a mix. PlotSet orders periods by reading this column, and a mixed format sorts oddly.

The steps

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

  1. 01

    Open the Bump Chart template

    From the PlotSet dashboard, start a new project and choose the Bump Chart template. It loads with a small ranked dataset already bound to it, so you can see the item, period and rank columns in place 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 as item, period, rank

    Rework your source data into three columns in long format: one row per item per period, with that item's integer rank for the period in the third column. If you are starting from raw values, rank them within each period in your spreadsheet first.

  3. 03

    Upload your sheet or connect it live

    Use the data panel to import a CSV or .xlsx file, paste rows straight from a spreadsheet, or connect a Google Sheet if new periods will keep arriving and you want the chart to pick them up without a re-upload.

    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 item, period and rank columns

    Tell PlotSet which column is the item, which is the period, and which is the rank. Clear headers like Service, Month and Rank usually get mapped automatically; check this manually if your sheet carries extra columns PlotSet had to guess between.

    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 period order

    Confirm the periods run left to right in the order you intend, not alphabetically. This matters most with month abbreviations or match weeks that do not sort correctly as plain text.

  6. 06

    Label the ends of each track

    Turn on end labels so item names sit at the first and last period rather than in a separate legend. With names anchored at both edges, a reader can trace any single track through the crossings in the middle without losing their place.

  7. 07

    Highlight the tracks that matter

    Pick one or two items to keep in full colour and set the rest to a muted grey. Past about eight tracks a fully coloured chart turns into a tangle, and a highlighted track reads clearly against a grey field in a way it never does against seven other bright ones.

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

    Publish, embed or export the tracks

    Publish for a live chart where hovering a track highlights it against the rest with a tooltip at each node, 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.

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

Put the real value in the tooltip

Rank alone hides magnitude: first and second can be neck and neck or worlds apart, and the chart looks the same either way. Add the underlying measure (subscribers, points, votes) to the tooltip so a hover fills in what the rank axis cannot show.

Label the top of the rank axis '1st', not '1'

An axis that goes up as rank improves is a convention people have to learn, not one they arrive with. Spelling out 1st at the top removes the one moment a reader might mistake a rise for a fall.

Space periods evenly

Bump charts read the horizontal axis as evenly spaced steps. If your periods are irregular, quarters of different lengths, seasons with byes, gaps read as meaningful when they are just calendar noise. Fill in a placeholder period rather than skip it.

Cap it at two or three highlighted colours

One highlight colour makes a clear point. Two makes a comparison. Past three, even with the rest greyed out, a reader loses track of which line is which by the second crossing.

Common mistakes when making a Bump Chart

Two tracks sit exactly on top of each other

This means two items share the same rank in at least one period, usually from an unresolved tie in the source data. Go back to the sheet and break the tie with a secondary sort key, then re-upload.

A track has a visible gap or jumps oddly

A missing row for that item in one period leaves a hole in the line rather than a smooth connection. Check your data table for the period in question and add the missing row, or accept the gap and say so in a caption.

The chart looks huge and jagged instead of clean parallel tracks

This usually means raw values were uploaded into the rank column instead of ranks. Open the sheet, rank each period's values from 1 to N, and replace the value column with the rank before re-uploading.

Learn more about the Bump Chart

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

About the Bump Chart

Bump Chart: common questions

A long-format sheet with one row per item per period: an item column, a period column, and an integer rank column for that item within the period. Three columns and one header row is enough. If you only have raw values, rank them within each period before uploading.

Make your Bump Chart now

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