Arc Charts – Sports Dynasties Viz

As I’ve said before, most of my sports vizzes evolve from some sort of “discussion” I get into at my favorite watering hole, O’bryon’s, in the Evanston neighborhood of Cincinnati. This viz was no different…

Growing up a Cincinnati sports fan, I was the eternal optimist that the underdog could persist. We are the perennial underdogs. Small market teams in the Midwest competing against the big money markets of the East Coast and Cali. As my childhood idealism was replaced by adulthood realism I became more and more intrigued by those teams that consistently achieved at high levels. On any given Sunday a team can win, but to win titles, and consistently, requires an insanely intense obsession with being better than the competition. This desire for greatness is what I now admire most as an adult, hence, this viz.

The criteria I set to qualify for a “dynasty” is any team that accumulated 3 “points” within a 7 year period. I defined a championship won as 1 point, and a runner up as 0.5 points. If a team won 3 titles in 7 years, then under my criteria, they were a dynasty. If a team was a runner-up for 6 out of 7 years I considered them a dynasty. Despite the Twitter back and forth that I engaged in on the dynasty criteria, this is the criteria I settled on. (Mike Cisneros did do a whole viz on a different way to calculate dynasties, make sure to check it out!)

I used the data that Corey Jones provided for our January 2019 #SportsVizSunday data challenge to create this data set. I created a calc in Excel that took the 7 year running sum of the “points” assigned to each team’s title or runner up.

I then utilized a blog post from Toan Hoang on arc charts to connect the dynasty begin year and end year. I structured each dynasty as one row with a dynasty team, nickname, beginning year, ending year, and dynasty ‘index’ calculating how dominant each team was.

Index: INDEX()-1

X: ((COS([index][WC_PI]/180))[WC_Step Size])+[WC_Step Size]+[WC_Start point]

Y: SIN([index][WC_PI]/180)[WC_Step Size]

Path: IF [Table Name]=”DATA TABLEAU” Then 1 ELSE 181 END

WC_End Point: WINDOW_MAX(MAX([Year End]))

WC_Start Point: WINDOW_MAX(MAX([Year Start]))

EC_Escalations: WINDOW_MAX(MAX([Dynasty Index Max]))


WC_Step Size: ([WC_End Point]-[WC_Start point])/2

In order to get the area under the curves to be filled in I used a dual axis and used a polygon type chart. This allowed me to color the line one of the team’s colors and the shading another one of the team’s colors. To get the team logos showing underneath I used a newer feature of Tableau which is the transparent background. I created fields to position the logos in the middle of the arcs. I then ordered the logos worksheet behind the arc chart worksheet.

Logo Point Column: [WC_Start point]+(([WC_End Point]-[WC_Start point])/2)

Logo Point Row: [WC_Step Size]*.5

I sized the logos of the dynasties to fit the arc charts appropriately. The longer the dynasty lasted, the larger I made the logo.

To get the title and the legend I used PowerPoint. To get the champion and runner up circle charts I created a chart like below. Because I had two rows for each year I was able to break them out by ‘result’.

Hopefully this was helpful in recreating my dynasties viz. If you have any questions or concerns about any of these calcs feel free to reach out to me at Thanks for reading!

Leave a Reply