Canonicalized

  • Tableau Sidekick
  • Blog
  • Contact

Connected Cycle Plots in Tableau with Set Actions

Dorian Banutoiu
Updated on: February 27, 2019 — Reading time: 3 minutes Leave a Comment

Cycle plots are commonly used to show trend and seasonality in time-series data for day-of-week patterns, hour-of-day, month-of-year, quarter-of-year, and so on.

To learn more about them, I recommend having a glance at this paper by Naomi Robbins.

There’s also a whitepaper from Andy Cotgreave about ways to visualize time on Tableau.com. It’s quite a neat read!

First, let’s have a look at some of the use cases.

Examples of cycle plots in real life

“Wildlife strikes on planes in the US” from Andy Cotgreave’s whitepaper:

month-year-trend

This is a textbook cycle plot showing the yearly evolution for each month. It is common to add average lines for each month to compare them more easily.

There’s also a shading beneath each line, making it easier to notice the magnitude (the distance from the baseline).

A look at ozone levels in the US by Andy Kriebel:

ozone-levels-cycle-plot

Similarly to the first one, it displays month-of-the-year values. Instead of average lines, Andy chose to add trend lines to emphasize the different monthly patterns.

TSA Claims by yours truly:

First I have a line chart with the yearly claims evolution. At the bottom, there’s a cycle plot with the quarterly values across years.

I added lines and shading to show that the averages for Q3 and Q4 are lower than Q1 and Q2.

There’s also an action to highlight the different quarters when you hover a specific year.

So easy to create in Tableau

We start with a standard time-series line chart for which:

  • we add a lower granularity date part
  • we move that date part before the initial one in the column shelf
  • we change the scope of reference lines to work for each pane

Three steps later we have our chart!

An idea to improve on Cycle Plots

I am currently on a quest to figure out the best ways to analyze cohorts using interactive Tableau visualizations.

I took some inspiration from Intercom’s blog post about improving retention, and I created the following cycle plot “style” chart:

cohort-cycle-plot

Every data point from a line represents the retention rate of a cohort in a specific week after the acquisition.

While it’s easy to understand the trend for every week and the overall tendency, it’s difficult to keep track of individual cohorts across weeks.

A highlight action could make them easier to follow:

Another thing we can do is to add reference lines that update when we hover:

This way we can compare the positions of the reference lines to see the trends for each cohort.

I am not completely satisfied with any of these methods. Since we have Set Actions in our bag of tricks, the idea of connecting the different categories on hover became achievable:

With this chart, we’re packing 3 types of insights: trends, seasonality and evolution of individual categories (cohorts in our case).

It probably won’t work well with lots of data points since it can clutter the view quite quickly. However, I believe it’s a good addition in this case.

The Tableau challenge

While cycle plots are easy to create in Tableau, connecting dots from different series isn’t.

If we build the cycle plot in the usual way, we’ll end up with panes for each week number. As you might know, we can’t connect lines across panes.

classic-cycle-plot

My solution was to get rid of the panes. I did this by combining the “Week number” and “Cohort” fields into a single one. Here’s how I set up the worksheet:

cycle-plot-without-panes

At this point, all I have to do is to create a set from the “Cohort” field, add the values as a dual axis and use the path shelf to connect the dots:

connect-lines-path

“Set values” holds the amounts for a particular category/cohort/point in time.

The set action used for the interactivity is quite simple:

set-action-hover

For the nitty-gritty details on how I set it up and what calculations I used, you can download the workbook from Tableau Public and reverse engineer.

Closing thought

My feeling is that interactivity is one of the most significant leaps in data visualization in modern times.

Allowing users to play with graphs in different ways can significantly reduce their time-to-understand.

If you have any questions or if you need help, let me know!

Dorian Banutoiu
Dorian Banutoiu

Highly passionate about data, analysis, visualization, and everything that helps people make informed decisions.
I love what I do! I am working to improve speed in every aspect of my life and that of our clients.
I find comfort in helping people, so if you have a question, give me a shout!

More about: Data Visualization

Tableau Case Study: Chaoly unleashes Chinese Social & eCommerce Analytics

A look behind the scenes at how we helped Chaoly use Tableau to bring data to life.

Juicy details about goals, challenges, and factors that have contributed to success.

We share the full list of dashboards that reached the clients’ screens.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Get in touch!

Drop us a line ⇣    or    Schedule a chat


    We'll get back to you in less than 24 hours

    Tableau Partner
    canonicalized

    Latest articles

    • MDS in a Box – An Open Source Modern Data Stack in Dorian’s Way
    • Mobilize Your Data: Creating Mobile-Friendly Dashboards in Tableau
    • Migrating from Tableau to PowerBI? Here’s what you might need to consider

    Insiders only

    Copyright © 2025 · canonicalized.com · Contact · Tableau Dashboard Examples

    Powered by Ideas · Governed by Data