A guide to visualizing project schedules with Python

Image by the author

With more than 100 years of history, this visualization continues to be very useful for project management.

Henry Gantt initially created the graph for analyzing completed projects. More specifically, he designed this visualization to measure productivity and identify underperforming employees. Through the years, it became a tool for planning and tracking, often discarded once the project is over.

It’s undeniable that Gantt charts have changed a lot since their first design. Analysts introduced many encodings to display distinctions between departments, tasks completeness, dependencies, deadlines, and much more.

This article will explore how to create Gantt charts using Python, Pandas, and…

Use this intuitive tool to simplify mapping

In this article, we’ll explore Kepler.gl, an open-source solution for geospatial data visualization and exploration. Kepler was developed by Uber to make it easier for users of all levels to design meaningful maps that also look good. The tool can handle large amounts of data and has a friendly, intuitive interface that allows users to build effective maps in an instant.

Available for all to use since 2018, it’s about time we get a closer look at how the tool fits into the data visualization landscape. …

A fascinating way of visualizing multiple distributions

This visualization is composed of line charts stacked vertically with slightly overlapping lines that share the same x-axis.

Ridge plot — Image by the author

Those overlaps reduce the whitespace, many times at the cost of precision, and create a compact chart that’s relatively uncommon and great for catching the viewer's attention.

The names Ridge plot or Ridgeline plot is quite fitting; The charts do look like mountains. And they are also known as Joy Plots — Mainly because of the band Joy Division which used this visualization in one of its album covers.

A quick guide on different ways to plot a donut with Matplotlib

With many similarities to pie charts, this creative visualization sets itself apart from its infamous cousin. The open center makes the slices look like bars and change the focus of the comparison from areas and angles to the length.

Donuts and circular progress bars — Image by the author

In this article, we’ll check two ways of plotting donut charts with Matplolib. A simple approach with Pie charts and the parameter wedgeprops, and a more complex method with polar axis and horizontal bar charts.


There’s no method for drawing a donut chart in Matplotlib, but we can quickly transform a Pie chart with wedgeprops.

Let’s start with a simple pie.

How to add tooltips to your Matplotlib charts

Image by author

Allowing the user to hover the mouse or click a part of our visualization to get more context is excellent. And tooltips are a perfect way to save space in our chart.

For example, for most scatter plots labelling every point can get tricky. You can color-code them and use a legend, but even that can get messy when there’s too much data.

How to quickly draw cool looking elevation maps with Python

This visualization is the result of the sweet combination of elevation maps and ridge plots.

It uses multiple horizontal lines to represent the elevation of the terrain, like tracing the peak of various latitudes, one above the other.

A quick guide on plotting and customizing calendar heatmaps with Python

Calendar Heatmap — Image by the author

Few visualizations are so intuitive and insightful as calendar heatmaps are at presenting time series data. It could be because they combine two very familiar visualizations, color coding and calendars.

You probably know someone who has a planner or a calendar full of notes; some may use brighter colors to mark tasks requiring more attention, or maybe they color-code everything by category.

The concept of calendar heatmaps is very similar. We encode a variable with color and plot them in a calendar format to understand its relationship with time.

This tutorial will explore a convenient package called Calplot to draw…

The basics to get you started with the fastest way of turning your scripts into apps

Streamlit is an easy-to-use framework, perfect for building web apps without struggling with layout, event handlers, or document trees.

Its friendly methods make it a great tool to explore datasets, demonstrate machine learning models, computer vision, natural language processing, data visualizations, and many other data-centric projects.

Fast Review — Made with Streamlit — Image by the author

In this article, we’ll build a simple app to explore and transform datasets with Streamlit.

Getting Started

After installing it, we’ll create a file named app.py and start with something simple.

import streamlit as st #pip install streamlit
st.title('Explore a dataset')

In our environment terminal, we can go to the directory we saved our script…

A great way to visualize grouped and segmented proportions

Marimekko chart — Image by the author

Commonly referred to as a Mosaic plot, Spine plot, or just Mekko. This chart is often used, among other applications, as market maps to visualize industries segmented by types of customers, regions, and many other variables.

In essence, they are just a stacked bar chart where the bar widths are used to display another variable, usually the whole group’s proportion to the total.

How to draw this simple chart to display change and hierarchy

With a straightforward format that can effortlessly illustrate changes and rank variables, Slope charts are more than just an over-glorified line chart.

They have earned their place in data visualization and can be a great addition to your reports and dashboards.

Slope chart — Image by the author

In this article, we’ll explore how to plot them with Matplotlib, get a look at different ways of designing them and how they compare to other data visualizations.

Thiago Carvalho

Data visualization enthusiast

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store