Making Beautiful Racing Bar Animations for YouTube

Ömer Faruk Eker
Analytics Vidhya
Published in
6 min readMay 30, 2020

In this story, I will explain, step by step; from data collection to YouTube upload and edit, how to make nice looking, professional racing bar animations that you can upload to YouTube and make even money!

Breakdown of a typical racing bar chart

Step 1: Idea

First of all, you have to find a dynamic subject which can be represented in a time-series format such as earning of celebrities over the years, the highest-scoring footballers of all-times, the daily number of COVID19 cases per country, etc. This step is up to your creativity and interests. You may start watching a few videos on YouTube first to get an idea on what others have already done:

Data is Beautiful channel is one of the best examples for this type of visualisation. This lad (university student) uploaded almost 60 racing bar videos last year which helped him gain 1.3 million subscribers and earning around $200K yearly from only these videos.

Social Blade page of a data visualisation channel
Social Blade page of the Data is Beautiful channel

Some of the other data visualisation channels:

Omer Faruk Eker

Animated Stats

Roylab Stats

Wawamu Stats

You can check the estimated earnings of social media channels from Social Blade website. They put some interesting statistics there where you can compare channels as well.

Step 2: Data Collection

You defined the subject to visualise, the next step is finding data. There are many sources, Kaggle is one of them. You can search, filter and navigate through ~40K datasets, also can do statistics on the datasets in the website.

Kaggle webpage interface

Google Dataset Search, contains over 25M links for datasets from various sources.

UCI ML Repository, is another source for data, one of the oldest.

DataUSA, United States public data source.

UK Data Service, The UK’s largest collection of social, economic, and population data.

The above links are data sources for general purposes; there are other websites that open-source their data public like IMDb, the largest movie database you can find on the internet.

One other source which might be helpful is Archive.org website that allows you to navigate the archives of the internet pages. For instance, the following page gives you the list of top-earning 100 celebrities for 2019.

https://www.forbes.com/celebrities/list/

But to make a racing bar chat video, you will need to access the list for previous years too. Forbes’ website does not have a public link for that. Archive.org comes into help here, you can access that page’s 2018 and earlier versions from there.

Step 3: Data Wrangling

Now you have the historic time-series data, the next step is data munging, that is, transforming and mapping the raw data into a usable format. There are many options you can choose from. If you don't have a programming background, you can use MS Excel to organise data and go to the next step. This option may require more labour as you have to do everything manually to transform data.

If you have a programming background, you can use the programming language which you are the most familiar with. Python and R languages are open source and used by most data analysts/scientists.

Jupyter Notebook is an excellent environment for coding in Python. It is a web-based application that allows you to create and share documents containing live code, equations, visualisations, and narrative text. This IDE supports markdown and enables you to add HTML components from images to videos. It also includes data cleaning and transformation, numerical simulation, statistical modelling, data visualisation, and many others.

Let’s take the Forbes yearly top celebrity pay example. Say we used archive.org and Google search to access the top 100 earning celebrities since 2005. Now we have an Excel file that contains the list of top 100 celebrities starting from 2005 (previous year’s lists were not found).

Excel file containing yearly pay info for celebrities

We can easily load the file into Jupyter Notebook environment

I will not dive into the corrections in the data as it is another subject matter. Assume we cleaned the data, corrected the mistakes, and fill in the missing information.

The dataset contains celebrities from various categories, you can visualise the distributions of categories using a single line of code, which produces the following donut chart:

Next, you need to convert the data into a pivot table where columns represent years, and rows represent celebrities. Again a single line of code will do that. Now this table gives yearly pays of each celebrity which found themself in the Forbes’ Celebrity 100 list within 2005–2020.

Next, we will save this table in a comma-separated value (csv) format and proceed to the next step.

Step 4: Racing Bar Visualisation

In this step, I will only talk about the most used option, which is Flourish Studio. All you do is create a free account there and choose the bar chart race template to start with.

You can upload and edit the data there, select the columns that will be used as labels, values, categories (optional), and images (optional).

Once it is done, click on the “Preview” tab and do further adjustments by clicking collapsible menus. From there you can adjust the number of bars, bar colours, widths, and many more.

Once it is done, you can play the animation in the “Preview” tab. Unfortunately, there is no option to save the animation as a video file for the free option, which brings us to the final step, recording the screen to output the animation.

Final Step: YouTube

There are many options to record screen, the one I use the most is Atomi’s ActivePresenter. Even though not all features are free, it allows you to smoothly capture Flourish Studio’s screen and save it in a format you desired (mp4, wmv, mkv, avi, webm). All you do is start the capturing and run your animation in Flourish Studio page. You can customize the focused area of your screen that will be captured.

Once you save your video (.mkv output worked for me the best), the next step is to upload it on your YouTube channel. YouTube allows you to edit your videos and add music to your videos that play in the background using their YouTube Studio Editor environment. You can choose background music from the list of their free songs database.

Free songs database

Done!

Now you have a racing bar video of your own which is published on YouTube. Next time, it will be easier to follow the steps above and you will produce loads of quality content if you focus on the first step: Idea

Cheers

--

--