#Data19 has come and gone, but there are still seven weeks left of 2019, so it’s time to finish strong. This week’s #MakeoverMonday data set, ‘Smartphone Ownership Among Youth Is on the Rise,’ comes to us from Common Sense. Below is a look at the viz we made over this week.
What works with the original viz
Labeling the years directly to the left of each line chart (although not needed as we will discuss later).
The line charts do make it easy to compare 2015 vs. 2019, for each age group. However…
What could be improved
Even though the viz has a label for age on the x-axis, it’s difficult for my brain to not want to think the line charts indicate change over time. Therefore, I would shy away from using a line chart in this situation, as it can cause confusion.
My go to for this type of analysis would typically be a dumbbell chart, like the image below as I feel it’s one of the best ways to show change between two periods. However, I felt the need to try something new, so I saved the dumbbells for another day.
It’s unnecessary to label every mark on the view, as it distracts the reader from focusing on the visualization.
There’s also no need for dots and grid lines at every age increment. A better approach would be to swap the x-axis (age) grid lines and for y-axis (ownership) ones instead.
Changing the title to a shade of gray and color coding the years in the title (2015 blue and 2019 yellow) would remove the need for the year labels in the view.
I wanted the focus to be on the change from 2015 to 2019, so I called that out directly in the title.
As I mentioned earlier, it’s really easy in a situation like this to just go with a dumbbell chart. However, I wanted to try a variation of Jeffrey Shaffer’s progress bars.
Since the values for 2019 are greater, I set 2019 as thin lines in the background of the thick, 2015 gray bars. I then labeled the 2019 bars as the difference in percentage points from 2015 to 2019.
For instance, in 2019 53% of 11 year old children owned a Smartphone vs. just 32% in 2015. That’s a difference of 21 percentage points.
The following blog post takes the reader through the process of building my March Madness Bracket of Champions viz, in Tableau. However, this project involved quite a bit of pre-Tableau work, which I would also like to share, so if you came strictly for the Tableau part, please scroll down to the ‘Building the Viz in Tableau’ section.
Prepping the Viz for Tableau
I first saw data portraits being used in Tableau by Zen Master, Neil Richards, in November of 2018, with his TUG data portraits viz. At the time, I was unaware of their origination, but on Neil’s viz he included that the idea was inspired by Giorgia Lupi, so I did a little research to become more familiar with the concept. It appears Giorgia introduced the idea at TED 2017 in Vancouver, through the creation of buttons for conference attendees, as a way to create connections with other conference goers. Prior to the conference, attendees filled out a series of non-invasive questions that revealed fun facts about them. A design system then turned the answer to each question into a unique set of shapes, colors and symbols. About a month after Neil’s viz, I saw Josh Tapley create a viz of badges as well, his for the Philadelphia Tableau User Group. I loved how creative and beautiful they were, so knew I wanted to try it out, the only question was what to do?
Inspiration from Giorgia Lupi
Inspiration from Neil Richards
I didn’t want to copy Neil and Josh…although it does seem like a really cool thing for the Twin Cities Tableau User Group to try one of these months!! Instead I wanted to try something a little different. Being the sports fan I am, it was only natural that my version of data portraits would somehow tie in sports. My initial thought was to make a data portrait for each of the top players in the upcoming NBA Draft. I thought the data from each player’s scouting report could work perfectly for a data portrait, as you would essentially be answering questions, just like on Giorgia’s buttons. What is the player’s position? How tall is the player? What is their biggest strength, etc? However, it was still only December and with the draft still six months away, I simply could not wait that long! So, sticking with the basketball theme, my next thought was to create a bracket, where each team is represented by a data portrait. So, I filed away the idea and a few months later, with NCAA March Madness looming, tried creating my first badge. The North Carolina Tar Heels are my favorite college basketball team, so I created the below (left), badge, which displayed the following information; the team (logo), the year they won the national championship (1993), their tournament seed that year (#1 seed), the conference they played in (bottom coloring), their win/loss record (34-4), win/loss margin by game (step line chart), and the number of players who would go on to reach the NBA (one star per player). I chose to create a bracket of past champions, as I felt it could be a fun lead up to the actual tournament and because fans are always debating which past teams were better, etc. Why not create an interactive bracket, where people could fill out their bracket of past March Madness champions and share it with others?!
I had an idea, but what did the data look like, that would support the idea? To be honest, I didn’t need much to get started. My initial data set included only the Year, the Champion, their Seed, their win/loss record and their conference. I grabbed it from sports-reference.com/cbb and dumped it into Google sheets. It looked like this.
From here, I could start building out the team data portraits. Where else would I turn for this step, other than PowerPoint?! For more on combining the powers of Tableau and PowerPoint, be sure to check out this great post from Kevin Flerlage. In his post, Kevin recommends blog posts by Josh Tapley and one by Kevin’s brother and Tableau Zen Master, Ken Flerlage, that introduced him to the concept of mixing Tableau with PowerPoint. The only other data I would end up including was game by game margins of victory/defeat for each team (for the step line chart), as well as statistical leaders for each team, which was a late addition to the tooltips.
The Data Portraits
With the initial data in hand, it was off to PowerPoint to create 32 more data portraits, one for each NCAA Men’s Basketball champion, from 1985 through 2018. Basically, all I did here was make copies of the original North Carolina data portrait and then swap out the elements for each of the other teams. For example, to create this Michigan data portrait, I copied the North Carolina one, switched the year, added/removed the appropriate number of stars, changed the seed number and conference color accordingly and finally swapped the logo and line graph and adjusted the win/loss record. The line graphs were made in Tableau, saved as images and brought into PowerPoint. The logos were saved as images from ESPN.com and brought into PowerPoint and then I added an artistic effect under the formatting tab, to give them a little colored pencil look.
Dean Smith’s 2nd title
The Glen Rice Wolverines
It took some patience, but after several hours, over the course of a few late nights, I had finally completed all 33 of the data portraits and was ready to start building the bracket! One quick note; the 2013 championship won by the Louisville Cardinals was vacated due to team violations, so I omitted them from the viz.
After taking a stab at ranking the teams myself, it dawned on me that maybe someone else, much more qualified, had already done this work. A quick google search and I was delighted to see that, indeed, this had been done and fairly recently. In April 2018, ESPN Insider, John Gasaway had ranked all champions from 1939 to 2018. I compared my rankings against his and although many of mine were within one or two spots of his, a few, most notably 1995 UCLA, were way off. I had that Bruins squad much higher than Gasaway’s ranking of sixteenth. So, to ensure the seedings in the bracket were legitimate, I decided to follow Gasaway’s rankings, with a few very small tweaks, in order to balance out the bracket and avoid having the same school play another version of itself, early on.
Of the 33 teams, there were five instances of Duke, four North Carolina’s, four Connecticut’s, three Kentucky’s and three Villanova’s. So, those five schools accounted for 19 of the 33 teams. With far too much time spent jockeying the teams around, I was finally able to produce a bracket in which none of the above schools would meet until at least the third round. So, with the rankings set, it was time to build the viz.
Building the Viz in Tableau
The Set Up
I wanted the viz to have the look of an actual bracket that you might fill out by hand or online, in your local bracket challenge pool. So, in Tableau, once I had the team data portraits placed on the dashboard, I would leverage ninety-two text boxes to draw out the bracket. Each text box was filled with navy blue and set to be 3 pixels tall or wide, depending on its position. Looking back, this part was pretty tedious, but it allowed me to design the bracket exactly the way I wanted it to look, which was nice. Ok, back to the data portraits.
My goal in building this viz was to create a fun March Madness bracket, that would become interactive through the use of Tableau Set Actions. If you remember from above, the placement of the teams into the bracket had been determined, so Step 1 was to essentially create a bracket that had not yet been filled out. To place each team into their respective position in the bracket, I created a worksheet, that looked like the one below, for each of the sixteen first round match-ups and then floated (don’t hate me Team Tiled!!) each worksheet on the dashboard. Side note: this dashboard is literally a Team Tiled member’s worst nightmare, as there are somewhere in the neighborhood of 150 floating objects on the dashboard.
Setting up the bracket
Calc to separate out ’93 UNC from ’05 UNC, etc
I used the ‘Bracket’ field to filter each worksheet to its appropriate bracket and then the ‘Seed 1’ field to filter to the correct match-up. To account for schools with multiple championships, I then created a calculated field called ‘Year+Team’ which combined the ‘Year’ and ‘Champion’ fields. Pulled onto the shapes card, this would allow me to assign one data portrait per champion. Once this part was complete, I was left with eighteen sheets (originally seventeen) to float onto the dashboard. Why eighteen and originally eighteen? The original viz was built prior to the 2019 tournament and featured one “play-in” game. The play-in game was built using two sheets instead of one, so that’s how we get to seventeen sheets. Also, I updated the viz after the 2019 tournament, to include the 2019 champion Virginia Cavaliers, after their miracle run to the title; the last two games of which I was fortunate enough to have seen in person, at the Final Four in Minneapolis. What an amazing sports experience!! Anyway, adding Virginia led to the need for another play-in game, thus adding another sheet and getting us to eighteen. Alright, the bracket was set up, next up was to add the interactivity.
The interactivity was set up with a few simple steps, which were repeated for each game throughout the tournament.
Create a Set for each game in the bracket. Each Set looked identical to the one pictured below. The set was created using the Year+Team field and I left all boxes unchecked to ensure the worksheets that would later be dropped onto the dashboard were blank until the addition of the Set Actions.
2. I then created a Boolean (T/F) calculation for each game like the one shown below, created a sheet for each game in the tournament and dragged the Boolean calculations for each game onto the Filters shelf of their respective sheets, setting them all to True. This would ensure that once the Set Actions were in place, the blank sheets would populate with the expected data portrait.
3. Next, the sheets needed to be placed (floated) onto the dashboard, into their positions within the bracket. I floated them on the bracket as shown in the picture below.
4. Lastly, we needed to add in the Set Actions. Once again, there are 31 game so we need 31 Set Actions. In the example below, we’re using the Source Sheet 2.1, which contains the 1995 UCLA Bruins and the 2016 Villanova Wildcats. We tell the Set Action to target the Game 2 Set, which was set to True on the blank sheet named 2.2. And then we click ok and back on the dashboard, if we click the UCLA data portrait on Sheet 2.1, we see them advance into the second round of the tournament, onto Sheet 2.2. Every other Set Action is set up just like this and together, they provide the dashboard interactivity.
Source Sheet 2.1 | Target Set Game 2 Set which is on Sheet 2.2
The Viz in Tooltips
Lastly, while I felt the data portraits provided great high level information about each champion, what they lacked was any type of information regarding the players. So, I pulled some more data from sports-reference.com/cbb and added a tooltip that, on the left-hand side, provided a zoomed in view of the data portrait and on the right-hand side, provided the user with each team’s statistical leaders in three main categories; points, rebounds and assists. The ’94 Arkansas Razorbacks were one of my all-time favorite college teams…and it didn’t hurt that they also beat Duke in the title game!!
Before wrapping up, I want to give a shout out to Kevin Flerlage for some fantastic feedback throughout the whole process of building this viz. Kevin helped me with some decisions regarding the tooltips and a nice clean way of executing a “clear bracket” option, among other great input. Also, when I was in the early stages of building out the viz, I thought it was a pretty cool idea. But after getting it to a point where it could be shared with others, for feedback, Kevin’s reaction and genuine excitement for the viz made me that much more motivated to get this thing across the finish line. Also, a big thanks to my co-workers Jim Van Sistine and Tom Coyer for providing their feedback as well and last, but not least, my friend Jason Underdahl, who said of the initial data portrait “why do you have the logo grayed out? You can barely even see it!” That’s tough love, but he had a good point! Adding the color back to the logos really made them pop!!
Thanks for reading, I hope you enjoyed this post and found it useful.
In October of 2017, I wrote up some Data and Analytics related goals that I wanted to obtain by the end of the 2018 calendar year. My list contained six goals, all of which I felt were obtainable, but would take some dedication and hard work, in order to achieve. At the end of 2018, I sat down to review this list and realized for the first time, that while the fifth item on my list was checked complete, it hadn’t really been FULLY completed. The item read as follows; ‘Improve and Learn Every Week.’ While, I felt 2018 had seen me take some big steps forward in my journey, I didn’t feel I had improved and learned EVERY week throughout the year. So, in 2019 I wanted to do better. Realizing there is a ton of room for me to grow in this space and endless resources available, I decided that tracking my growth would not only accelerate my learning while holding me accountable, but it would also allow me to eventually share the idea with others!! And so, #PlanToGrow was born. I started by compiling lists of blogs, vlogs, videos, podcasts, books, community projects, anything and everything I wanted to learn around the topic of Data and Analytics, in 2019. So, with good enough lists to get me through at least the first few months of the year, I felt ready to get started. Each week throughout 2019, I would Tweet out what I planned to learn for that week. Then, after checking an item off the list, I would track it in a Google Sheets document. This was because I eventually wanted to visualize the results in Tableau. But, thanks to Sarah Bartlett and #IronQuest, I was able to make the visual part of the project a reality much sooner than it otherwise would have happened. #IronQuest’s February theme was “business dashboards,” so I thought what better time than now to put my data into a visual form, start tracking my progress in Tableau and share the templates with the community?
Learning and Tracking
To be honest, I put no thought whatsoever into where I would track my data, but instead went right to Google Sheets, where I felt comfortable and knew it could easily be shared once that time came. So, my tracker began and has evolved slightly over the past month or so. It may not be elegant, but it works; Here’s how. As mentioned earlier, at the beginning of each week, typically on Sunday night or Monday morning, I’ll Tweet out my plan for the week. That Tweet will look something like…
…then, throughout the week, as items are completed, they are tracked in the Google Sheets document. I shared the project at the February Twin Cities Tableau User Group meeting and was asked how I stay disciplined in my tracking. The answer is that Google Sheets is almost always open on my computer, so on good days, as soon as I finish reading a blog post or watching a video, I’ll turn right to Google Sheets and enter in the data. Otherwise, the app is on my phone, so that has helped tremendously, as well. With blogs/vlogs being the easiest resources to consume, after a couple weeks, I found that rather than bounce around, it was a good idea to focus on learning from just one individual each week. Therefore, in a worst case scenario, if I dropped the ball on tracking for that week, a quick pull-up of that person’s blog would allow me to scroll through the content and know whether or not I had read/watched each item. And with so many amazing people in our community having more than enough content on their blogs for me to get through in a week, this just seemed to make sense.
Sharing With Others
For me, the most exciting part of this project is the opportunity to share the idea and materials, with others. Having been engaged in the Tableau community for just over 18 months now, I know firsthand just how overwhelming it can be. There is SO MUCH amazing information out there, but sometimes it can be difficult to even know where to begin. In 2018, there were many occasions in which my free/learning time was unproductive, because too much of it was wasted with trying to figure out which blog post to read, which video to watch or what viz to download and reverse-engineer. Thanks to #PlanToGrow, my learning experience in 2019 has been much more relaxing and enjoyable. It really is amazing what a difference being prepared can make.
From beginning to end, the #PlanToGrow project has helped me in several ways. First and foremost, planning ahead helps me stay focused and on track each week…no more time wasted! Staying disciplined in tracking has helped that part of the project to not fall completely off the rails. Without the consistent tracking, there is no final piece of the project, the visual component in Tableau. The visuals allow me to quickly and easily see how I’m tracking to my overall goals and what each week looks like. Additionally, I can see how my community participation has been and which days of the week I need to be more productive. Shocker…I’m least productive on the weekends! All that is great, but my favorite part of the Tableau viz is the combination of the Set Actions and URL Actions that allow for lightning quick access to every piece of material I’ve covered in 2019. So many times in the past, I would read a great blog post or watch a useful video and then several weeks later, come across a situation where that very blog post or video would come in handy. But, in some cases I would be left asking myself…”what was that video called?” or “who wrote that blog post, again?” or “I swear I saw that on Twitter, right?” only to either fail in finding it again or waste too much time in the process of finding it. There will be no more of that…every great learning resource will now be a section of the treemap. Easily accessible from either directly within the treemap or by first selecting a category from the bar chart, to narrow down the options within the treemap. I love this!!
If you would like to create your own #PlanToGrow Tracker, all you need to do is follow a few simple steps. First, you will need to download a copy of the 2019 #PlanToGrow Tracker Template from my Google Drive and that can be found here. This document includes a Data tab as well as a Directions tab that explains the process of making this your own. Secondly, you will need to download the Tableau workbook and replace my data with yours. The workbook can be found here. That’s it!! If you’d like, feel free to share your workbook on Twitter and tag me (@JtothaVizzo) so I can see it.
With the New Year quickly approaching and before I head out onto the ice covered roads of Minnesota tomorrow morning, to head to my family Christmas in the middle of nowhere, I wanted to take some time to reflect on 2018, a year I will always look back on as being pivotal in my career. Let’s rewind to set the stage.
A NICE END TO 2017
As 2017 was winding down, I found myself smack dab in the middle of a job hunt, seeking to move on from a role and a company where I struggled to see any sort of future for myself. So, I had put myself out there, having no idea of what the future might hold. But in my job search, two things were clear; 1) It was important for me to find a position where I would be working with Tableau every day (we’ll get to why this was important in a later post) and 2) having not used Tableau in my job for nearly two years, I would need to convince somebody that I was worthy of such a position (yes, you read that correctly, I had previously left a job in which I used Tableau daily for a job in which I did not have access to Tableau…was I crazy? We’ll cover this in that later blog post). With 2018 right around the corner, things were starting to look up, regarding the job search. In early December of 2017, much to my surprise and delight, I was recognized by Tableau Public as a Tableau Public Featured Author! Not only was this an absolute thrill for me, but it also served as reassurance that all of those evening hours spent working on my Tableau Public Portfolio were starting to pay off. A few short weeks later, I agreed to join Daugherty Business Solutions, as a Data and Analytics Consultant, working out of their Minneapolis office! With 2017 ending on a high note, I was pumped to bring on 2018! In October of 2017, I had written up some VizGoals for 2018 (shown below with a little something extra from my daughter). When I wrote them down, I was probably a month or two into my job search and these goals would serve as additional motivation for me to find a Tableau related position, as a few were directly dependent on obtaining such a role. Although a couple were fairly generic, I’m happy to report that all of these goals, for 2018, were checked. While achieving 1, 3 and 5 will truly be a continuous effort, numbers 2, 4 and 6 are discrete 🙂 Time to reflect on an unforgettable 2018.
IT’S A BOY!!
On January 20th, 2018, my wife and I welcomed our second child into the world. A beautiful, healthy, baby boy. Today, Kellen is just over 11 months old and together, he and his big sister keep mommy and daddy very busy and constantly on our toes. Although our house is absolutely crazy at times, we feel very thankful to have been blessed with two wonderful little kiddos. Oh, and just for the record, on Kellen’s first full day on earth, the Minnesota Vikings were demolished in the NFC Championship game by the Philadelphia Eagles, 38-7. Welcome to life as a Minnesota sports fan, bud!! Just kidding, he can be a fan of whoever he wants to…except for the Green Bay Packers…and the New York Yankees…and Duke basketball…and USC football…and Alabama football…and…
JOINING DAUGHERTY AND BECOMING CERTIFIED
Nine days after Kellen was born, I started my new job at Daugherty Business Solutions. Working for Daugherty has been a breath of fresh air. While I get to work alongside and learn from some incredible people every day, Daugherty has also been extremely supportive in my professional development. Just a few weeks after joining the Daugherty team, I reached a goal that had been on the docket for awhile; becoming a Tableau Desktop Qualified Associate. Having been in my role for nearly a year now, I feel that 2018 would have looked entirely different for me, had I not been given the opportunity to join Daugherty, so I’d like to say thank you to Tim Herby and team for seeing the potential in me and taking a chance.
VIZ OF THE DAY
Somewhere early on in 2018, I made a mental note that a new goal of mine was that I wanted to create a visualization that would be good enough to be considered for a #VOTD. Having seen so many amazing Viz of the Day’s, it was like I just had to find out what it felt like to be selected, but the question was how? After reading a few blog posts, I formulated a plan for what would be my first dedicated attempt at capturing a #VOTD. And luckily enough, when I posted my ‘The 50 Greatest Scorers in NBA History’ viz (which was inspired by Michael Mixon’s The Level is in the Details) back on May 30th, on the eve of the NBA Season Opener, it was selected the next day, as #VOTD. And since I already had all the data for each of the top 50 scorers, I began working on a Michael Jordan viz soon after, capturing the scoring of every game throughout his NBA career. Less than a month later, that viz would also become #VOTD. I was super excited, but as one co-worker put it “Well, it’s basically the same viz, so the Jordan one doesn’t really count.” I know he was just giving me a hard time, but that was all the motivation I needed. I was now on a mission for a third #VOTD. Sticking with the sports theme, I aimed at a viz that would be published prior to the NFL season opener. My recent infatuation with jump plots led me down the road of trying something out with them. I don’t recall exactly how the idea came about, but I thought using jump plots could be a cool way to show the wins and losses of NFL teams, with wins jumping above the axis and losses falling below. So, with some inspiration from Chris DeMartini and Sam Parsons, I put together the ‘NFL Win-Loss Margins’ viz that included every game for every team, in the Super Bowl era. I had a lot of fun working on the viz and was really proud of how it turned out. On September 6th, the day of the NFL season opener, it was selected as #VOTD.
I remember sitting in a November 2017 TCTUG (Twin Cities Tableau User Group) meeting and being blown away by a presentation given by Luke Stanke and thinking “Wow, how cool would it be to be THAT good at Tableau?!!” Well, I’m here to report I am not THAT good at Tableau, as I still have a long way to go with the tool. However, in 2018, I was fortunate enough to be asked to present at the TCTUG, a total of three times. I first spoke at the July TCTUG, at Cargill, where I shared my ’50 Greatest Scorers in NBA History’ viz. And more recently, I spoke at both the November and December TCTUGs. I was excited to share my ‘The Magic of New Orleans’ viz (more on this later) at the November meeting, at General Mills and in December, with Daugherty hosting, I shared a Tableau Style Guide that I had spent some time working on. These were all great opportunities to not only get practice speaking in front of anywhere from 75-150 people, but also to simply share my passion for Tableau. Back in November 2017, when I was sitting in that room watching Luke do his thing, I thought there was no chance I could ever be up there presenting. I would be way too nervous. But, it turns out, when you’re REALLY passionate about something, some of the nerves go away, and are replaced with joy and excitement!!
TABLEAU CONFERENCE 2018
Holy shit, talk about living up to the hype!! Tableau Conference was an unreal experience, one I will not soon forget. The energy over the entire five days I was there was impressive and the passion around Tableau and DataViz from everyone I spoke with was contagious. I was fortunate enough to be in town from Sunday through Thursday. From the sessions to the people to the food and music of New Orleans, I couldn’t have asked for a better first Tableau Conference. I often found myself star gazing as I wondered which of my DataViz idols I would see next. While, I met a lot of people at #TC18, I learned that meeting somebody can come and go in a flash. And while I would have loved to have had longer conversations with many I met, that’s something to shoot for at #TC19…maybe fewer sessions and more hanging out? No matter how quick the conversation was, the important thing was making the connection with so many people in this amazing community. Another exciting part of #TC18 was having two vizzes on display in the Tableau Public Viz Gallery. ‘The Magic of New Orleans’ viz, which I mentioned earlier, had won the New Day for Data Viz Games contest a few weeks prior to conference, so it was on display for that. Additionally, the Tableau Public team had chosen to display my ‘Jordan Career Scoring’ viz as well. Wow, what a feeling to see your work on display for over 17,000 Tableau enthusiasts to check out!!
IMPROVE AND LEARN EVERY WEEK
While I did participate in several different community projects throughout the year, I didn’t do as well in this area as I had hoped. I was most active in #MakeoverMonday, completing 22 of the 52 weeks, if my math is correct. I also started out well with #SWDChallenge, but then fell off as the year progressed. I completed a few weeks of #ThrowbackDataThursday and a couple each of #SportsVizSunday and #WorkoutWednesday. This means I did not participate at all in #IronViz feeders, #VizforSocialGood or #ProjectHealthViz and that simply cannot happen again in 2019. While I need to support all of these community projects, I understand a huge part of my growth and development will come through participating in them. That is why in 2019, I will be taking on a much more structured approach to growing not only my Tableau and DataViz skills, but also my knowledge of data, analytics and data visualization, in general. Before our little man Kellen was born, I found it pretty easy to stay tuned into what was happening in the community via Twitter, blog posts or Tableau Public. But, as my responsibilities as a father increased upon Kellen’s arrival, it became much more difficult to keep up and I would often find myself not getting around to reading that blog post I meant to read or not doing the #MakeoverMonday I was planning on doing or not starting that book I had planned on reading or writing that novel I was always planning on writing (Family Guy reference for those who are now confused)…but, you get the point. After all, my goal did say Improve and Learn EVERY week, not SOME weeks, MOST weeks or WHICHEVER WEEKS IT IS CONVENIENT.
So in 2019, the approach will be more structured. To ensure I am learning and growing EVERY week of the year, I will begin planning out the material that will be covered each week. Maybe there’s a Tableau Conference session I’ve been meaning to watch or a Tapestry Conference presentation or a new blog post I haven’t read or another awesome Hashtag Analytics episode I have yet to view or maybe I want to finally participate in my first #VizforSocialGood project. Each week, under the Twitter hashtag #PlanToGrow, I will share my plan for that week because a) I’m selfish and want to hold myself accountable and b) I want to share the great resources with others in the community, who may not yet be aware of them. An example week could look something like below.
#PlanToGrow 2019-01: Participate in #MakeoverMonday and #WorkoutWednesday • watch Hashtag Analytics S01E07 • read Lindsey Poulter On Your Marks, Get Set, Go • Book of the Month: Alberto Cairo, The Truthful Art
It will look something like that. And if I do more than those things during the week, then that’s a bonus. But at least each week will begin with a plan and that’s better than I’m doing right now. And by all means, if you’d like to join in, be my guest!! Thank you so much for reading, have a safe and happy New Year and I’ll see you in 2019!!
In Part I, we covered the passion behind why building this viz was such an enjoyable experience for me. Now that you all think I’m crazy, we’ll go ahead and begin Part II, what was my approach to building the viz? Let’s get started.
Step 1. The Inspiration
Jerseys of the NBA was inspired by the work of some of my favorites in the Tableau Community, Neil Richards, Simon Beaumont and Sam Parsons. On August 5th, Neil published his second and third Minimalist vizzes, The Simpsons and The Muppets. And a few short days later, Simon published The Colours of the Premier League. While the idea of coloring shapes to create the characters and jerseys piqued my interest, it wasn’t until I saw Sam Parson’s VizForSocialGood project, The Plight of the Pride, in October, that I realized how I would approach building something similar whenever that moment came. I wanted to try doing something with polygons, but I didn’t know what that something was…until the tweet from Vince Baumel, that I mentioned in Part I. NBA Jerseys would be the viz, but 165 of them was far too many, so instead I landed on choosing my favorite jersey from each NBA franchise for a total of 30.
Step 2. Choosing the Jerseys
I had a good idea of what a majority of the jerseys would be, but for some teams, I needed a better idea of all the jerseys they had worn in their franchise history. So, a quick Google search led me to jersey museum. Once there I began jotting down a list of my favorites for each team. I got only so far before the temptation of building one was too much, so I tested it out with a classic Portland Trailblazers jersey (below), mainly worn in the 1980’s. Now that I had proved to myself this could actually be done, it was back to finishing the list of which jerseys would be selected for each team…ok, quick confession. I actually REALLY like the 1990’s Toronto Raptors jersey (below) with the Raptor dribbling the basketball, but thought “how in the hell am I going to re-create that Raptor???” A bit too intimidated, that was the one jersey I shied away from.
Step 3. Sketching and Plotting
With the jerseys selected, the next step was to plot a few of them out on graphing paper, so I could see what the X/Y coordinates needed to be, when adding the stripes and shapes within each jersey.
I quickly learned the easiest route would be to create an outline that would be identical for each jersey and from there I could layer on the other elements as needed. In Tableau, I set my X and Y axes both to run from -500 to 500. However, since jerseys aren’t square, utilizing only the area from -300 to 300 on the X-axis, gave them the appropriate shape. So, the jersey for every team first ended up with this 18-point path as its outline, along with a color ID, based on the primary color of the jersey. All of the colors come from Team Color Codes, a fantastic site if you do any sports related vizzing. My personal preference is to steer clear of using team logos, so the use of team colors provides a nice alternative way to create an easy connection for the reader. This of course assumes the reader is somewhat familiar with the sport.
With all 30 teams equipped with the outline of a jersey and a primary color assigned, it was now time to add in the details. A majority of these were straightforward stripes going down the sides of the jersey or pinstripes in the case of the Charlotte Hornets and Orlando Magic. By far, the two most cumbersome to create were the Phoenix Suns, with their exploding sunburst design and the Denver Nuggets 1980’s retro with the mountains. Plotting the sun on the Suns jersey required a 25-point polygon. To get the stripes/shapes to show up on top of the primary color, a simple sort on Color ID was needed. As you can see, in the Suns case, this brings the sunburst to the foreground.
For the Nuggets jersey, I created the six horizontal stripes first…realizing after the fact that I could have left the dark blue one out, as that was already the primary color. Once the stripes were in place, came plotting out the mountains. For this I used a nice trick I implemented early on in the process, shown below. Navigating to the worksheet for the Nuggets, I turned down the color opacity to somewhere around 30-40% and turned grid lines on. This allows you to see through the jersey and see the grid lines at the same time. With this strategy, it actually only took two passes to get the 49-point polygon for the mountains to the point where they looked really good compared to the actual version. With the jerseys slowly coming together, one major hurdle still stood in my way of being able to produce something I would be proud of…the text. With Tableau Public only supporting a handful of fonts, how would I ever get the names and numbers of each team to remotely resemble the real thing? I think you all know the answer to this, so say it with me…PowerPoint!! It may have been very time consuming scrolling through fonts and saving image after image to be dragged into my Tableau dashboard, but PowerPoint allowed me to basically tie up all of the loose ends on this project. And, by the way, if you haven’t seen it yet, I want to give a quick shout out to Kevin Flerlage for his fantastic blog post and video, Tableau & PowerPoint A Match Made in Heaven.
Step 4. PowerPoint to the Rescue
With a canvas full of partially complete jerseys, it was the power of PowerPoint that allowed this project to reach completion. Starting with the Boston Celtics in the upper left-hand corner of the viz, one by one, I created the lettering and numbering, for each jersey, in PowerPoint. I then saved those as images and dragged them onto the final dashboard in Tableau. As I mentioned earlier, a majority of these consisted of simply scrolling through fonts in PowerPoint along with some NBA team-specific fonts I had downloaded, to find the best match. When the dust had settled, here’s what one of my working PowerPoint slides looked like. Slightly a disaster, but it got the job done!
Of course, a few of these were trickier than others, specifically designing the logo for the Golden State Warriors “The City” jersey. Unwilling to attempt drawing the Golden Gate Bridge with polygons in Tableau, I turned to PowerPoint and five minutes later, we had ourselves a logo, shown above. Once everything was created in PowerPoint and saved as an image, fifty or so drag and drops later, some formatting and alignment and the Jerseys of the NBA viz was complete. Here’s the final product as well as link to the Tableau workbook. Thanks so much for reading and have a great day!!
It all started with a simple tweet from Vince Baumel, suggesting that perhaps I could use some new wall decor. What Vince tweeted was an absolutely awesome poster that captured the visual history of the NBA jersey and its many style changes over the years. This poster really brought me back and for a few minutes, I browsed the poster reminiscing about some of those classic NBA jerseys from my childhood that will always seem to be tied to a certain player or certain moment. An avid NBA fan as far back as I can remember, much of my childhood consisted of Magic vs. Jordan disagreements off the court and Jeff vs. Chad (my older brother) battles on the court. You see, by the ripe old age of 4, I had become a fan of Magic Johnson and the Showtime Los Angeles Lakers. And by 8, I was ALL IN on Lakers Mania and why not, the Lakers were the most exciting team in the NBA and they were nearly unstoppable, having won three of the last five NBA titles.
But, in the summer of 1991, something happened…something that would spawn a fierce rivalry between my brother and me that had not previously existed. Michael Jordan (my brother’s favorite player) and the Chicago Bulls met Magic and the Lakers in the 1991 NBA Finals…and DESTROYED THEM!! After L.A. captured Game 1, the Bulls rolled in the next four, winning the series 4-1. This did not sit well with me at all!! Suddenly, my brother had bragging rights and the situation only worsened that fall, when Magic announced he would be retiring from the NBA, effective immediately, after testing positive for HIV. So, what was a kid to do? Switch sides and start cheering for Jordan? NOT A CHANCE!! He had just defeated my childhood idol in embarrassing fashion. To me, the thought of now cheering for Jordan was laughable…needless to say, the next seven NBA seasons were quite frustrating. Rooting against Jordan and his greatness was not an easy task. I mean, he was clearly the best player in the game and it wasn’t close. Jordan and the Bulls would appear in five of the next seven NBA Finals, coming out victorious each and every time. First Jordan and the Bulls took down Clyde Drexler and the Portland Trailerblazers in ’92, then it was Charles Barkley and the Phoenix Suns in ’93. And each summer, I would hear about it every day from my brother!! Then Jordan tried the baseball thing for reasons we still don’t really know, but in ’96 he was back and Chicago was dominant once again. The next three seasons, they would knock off the Seattle Supersonics and then the Utah Jazz twice, in back to back seasons. When it was all said and done, Jordan and the Bulls had won six titles in eight years and my brother was very good at reminding me of the fact that Magic had only won five titles.
By now, you’re probably asking not only why any of this matters, but also what does it have to do with a poster? Here’s the long answer; Because, despite Jordan and the Bulls winning year after year and my brother and I having intense one-on-one battles on the uneven, bumpy, grassy basketball court, where the bunkhouse occupied nearly the entire right half of the court, the hoop was slightly slanted and the green water hose marked the three-point arc, at our parents’ lake cabin, this whole sibling rivalry does in fact bring back very fond memories whenever I look back at it. Sitting in the living room of our tiny lake cabin, watching the NBA Finals and then heading outside during halftime for a quick one-on-one game. My big brother and I shared a deep love for the game of basketball and without the spark provided by our Magic vs. Jordan rivalry, I honestly don’t know if I would have that same passion for the game or for sports in general, that I have today. Now, perhaps that passion could have come in a variety of other ways, but when looking back, I feel strongly that my thirst to compete and drive to succeed was somewhat born through this silly basketball rivalry with my older brother, Chad. So, when I look at the poster Vince tweeted to me, I don’t just see really cool NBA jerseys, I see very fond memories of my childhood that make me happy.
I see all those games played against Chad (who is four years older than me) and I see that look on his face the time I FINALLY beat him for the first time…and how PISSED he was!! I see my game-winning shot going through the hoop and a moment later, the ball being chucked at me, as I took off running down the trail to the neighbors cabin, yelling something back at Chad, that was my best attempt at trash talk!! But, I also see all the great things Chad taught me about the game. After all, he was older and wiser and as an elementary and eventually junior high kid, I REALLY looked up to him and teammates on the basketball court, because at the end of the day, I wanted to be not like them, but better than them. While there have been a ton of unforgettable memories playing the game of basketball, there have also been moments, as a fan, that will simply never leave me. So, as I browse this “Jerseys of the NBA” viz, which was inspired by work from the greats, Neil Richards and Simon Beaumont, here are a few of the things I see.
I look at the Boston #33 and I see Larry Bird and the Celtics battling Magic and the Lakers in multiple NBA Finals match-ups. I see Bird crushing the three-point shootout during All-Star weekend, more than once. I see Dee Brown pumping up those sweet black Reebok Pumps, that everybody HAD TO HAVE after the ’91 Slam Dunk Contest.
I look at the Chicago #23 and Hawks #21 and I see Jordan and Dominique Wilkins going head to head in some of the most entertaining slam dunk contests ever.
I look at the Pistons #11 and I see more intense NBA Finals match-ups involving Magic and the Lakers, this time against Isaiah Thomas, Joe Dumars, Dennis Rodman and the Detroit Pistons. The NBA’s Bad Boys of the 1980’s and early 1990’s.
I look at Golden State’s The City #24 and I see one of the coolest NBA jerseys ever, in my opinion. Slightly biased, as that was one of the few jerseys I actually owned.
I look at the Suns #7 and I see Kevin Johnson, Charles Barkley and the Phoenix Suns competing in the 1993 NBA Finals against Jordan and the Bulls. And in that same Finals, I also see the coolest Sun of them all, Thunder Dan Majerle, drilling what seemed like countless deep three-pointers.
I look at the Houston #34 and I see the Rockets and Hakeem Olajuwon taking full advantage of Jordan’s time away from the game, capturing titles in ’94 and ’95.
I look at the Spurs #21 and I see a franchise that over the last twenty years has operated in a way that I can only wish the Minnesota Timberwolves could operate like…for just ONE month!!
I look at the Wolves #21 and I see the rebirth of NBA basketball in Minnesota and I recall all of the disappointment that goes into being a Minnesota Timberwolves fan!! But also, I recall great memories of listening to the late games on the radio, as a youngster, while I lay in bed, not about to fall asleep until the final horn sounded!!
No matter how silly it may seem, these are the things I see in this viz and these are the things that made building it such an enjoyable experience. I love sports not only for the competition, but also for the team aspect and how it brings people together. So, while I’m sure Vince was well aware that I was a basketball fan when he sent out that tweet, I’m guessing he did not know how my love for the game came about. So, before sharing details on what went into building the viz, I wanted to share the story behind the viz and why it was such a special project for me. In Part II we’ll actually get into building the viz.
This week’s #MakeoverMonday, Week 46, is Diversity in Tech and covers several key technology companies and their breakdown of employees by gender and ethnicity. Starting this week and moving forward, this #MakeoverMonday Diary will take on a slightly different approach. In doing a couple of time-boxed posts now, it has quickly become clear that the approach of trying to complete the project in a set amount of time, while also taking notes and documenting my steps along the way, hinders my ultimate goal of becoming a better analyst. What’s important to me is that each week I’m learning and growing my analytical skills and also taking the time required to share my learnings with others, who may be looking to either begin building analytical skills of their own or improve upon their current skill set. Let’s get started!
Step 1. Know and Understand the Data
After first looking over the original visualization (above),which I liked quite a bit, I flipped over to data.world to download the data set and become familiar with it. The fields included in the data were Date, Type (of company) and Company (name), as well as nine columns for the percentage of employees who were Female, Male, White, Latino, etc. The Date field contained five values, but I had already determined my focus would be on the latest data only, so I added a data source filter getting rid of the previous four time periods. Under Type, I was only interested in Tech and Social Media, so used another data source filter, to filter out Entity and Government. I needed to also keep Country for some later calculations. One last filter on Company kept only those that were Tech and Social Media companies…as well as U.S. Population, again needed for those calcs that we’ll get to.
Step 2. Keep It Simple
Now that I had a good feeling for the data, it was time to think about design. Earlier, I mentioned that I liked the original viz quite a bit. So, in a effort to keep it simple, my approach was to stick with a similar layout, but really emphasize where companies were either overrepresented or underrepresented for a specific gender or ethnicity. In the original viz, I found it a bit inconvenient to have to always go back and reference the very top row (USA Population), to see if a company had more or fewer employees than the US Population, for a given gender or ethnicity. This is where those previously mentioned calculations would come in, but first we’ll touch on color.
Step 3. Effective Use of Color
Going back to the original viz, once you looked past the Gender section (to the right), it didn’t make a ton of sense to me why each ethnicity needed its own color. It was more confusing than anything…did the color actually mean anything or was it there just because? So, in my version of the viz, I stuck with the maroon and gold of the Gender section, letting anything in my viz that signaled overrepresentation be colored gold and anything that signaled underrepresentation be colored maroon. This way it would be extremely easy for the user to understand, at a glance, the breakdown across companies. And to make it even easier yet, I added a highlight when hovering on a company name. This action highlights the row you hover over while also adding the value next to each bar. In an attempt to keep the view clean, I went this route as opposed to adding permanent labels on all bars like in the original. Lastly, to avoid the clutter of any sort of color legend, I tied the colors into the title.
Title with color tied throughout the viz
Step 4. Choosing the Right Chart Type
So what would be an effective chart type that could achieve the goal of emphasizing where companies were either overrepresented or underrepresented, for a specific gender or ethnicity? Given the two color approach, I felt an effective way to do this would be to use a diverging bar chart and focus on the difference within each company from the US Population. So for each field (Female, Male, etc.) I needed to calculate the difference in the number employed for a company by the number represented in the US Population. For example, women make up 51% of the US Population and 17% of employees at Nvidia. But to simplify a bit, I took the percentages out of the equation and instead went with absolute values per 100 people. So, we could say;
For every 100 people in the US, 51 are female
For every 100 employees at Nvidia, 17 are female
17 minus 51 is negative 34, so;
At Nvidia, for every 100 employees, there is an underrepresentation of 34 females. And conversely, males would be overrepresented by 34 for every 100 employees.
For reference, I included these figures in my tooltips (see below).
There’s likely a more efficient way of going about the calculations, but since each gender and ethnicity was its own field, I created six calculations, one for each field that would be included in my visualization. And once it came time to move onto the tooltip, several more calculations came into play in order to get the color coding to work. This approach worked here, but if there’s a quicker, easier way of tackling this part of the project and you happen to be reading this, I’m all ears!! So anyway, after going the diverging bar route, here’s what the view started to look like.
With the addition of a ‘sort by’ parameter and the highlight action mentioned earlier, I was starting to like how the visualization was coming together. It encouraged exploration, while providing a quick snapshot of the entire picture. It was easy to see, for instance, that Latinos were underrepresented at all companies (in the above image), while Asians were overrepresented at all companies. The user could sort the data various ways and also had the option of seeing more detail about a particular company if that was of interest; either through the highlight action or through the tooltips.
My final visualization is below and the interactive version can be found here. My hope is that this post and future posts are helpful to those who are early on in their analytical and #dataviz journeys and are looking to either build their skills from the ground up or improve upon their existing skills. If you have any questions at all, whether its something you liked or something you did not like, please don’t hesitate to reach out to me through Twitter at @JtothaVizzo. Thanks for reading and have a great day!