How to Plot Multiple Rectangles in Matplotlib

Plot Multiple Rectangles in Matplotlib

When I first started building custom data visualizations in Python, I often found myself needing to highlight specific regions on a chart. Whether it’s marking recession periods in economic data or outlining specific clusters in a scatter plot, knowing how to draw shapes is a fundamental skill. In this tutorial, I will show you exactly … Read more >>

How to Plot a Matplotlib Secondary Y-Axis with a Log Scale

Plot Matplotlib Secondary Y-Axis with Log Scale

Plotting data with vastly different scales on the same chart can be a real headache. I’ve often found myself staring at a flat line on a linear scale, simply because one dataset overshadowed the other. In this tutorial, I will show you how to implement a secondary Y-axis and apply a logarithmic scale. This is … Read more >>

Set Axis Limits for All Subplots in Matplotlib

Set Axis Limits for All Subplots in Matplotlib

When I first started creating complex dashboards in Python, I often struggled with mismatched scales. I would plot several charts side-by-side, only to realize that one x-axis went to 100 while the other stopped at 50. This makes it incredibly difficult for your audience to compare trends across different datasets. In this tutorial, I will … Read more >>

How to Set Axis Limits in Matplotlib 3D Plots

How to Set Axis Limits in Matplotlib 3D Plots

When I first started creating 3D visualizations in Python, I often found that Matplotlib’s default scaling didn’t quite capture the story I wanted to tell. The auto-scaling feature is great, but sometimes it crops out important context or makes small variations look like massive mountains. In this tutorial, I will show you exactly how to … Read more >>

Matplotlib 2D Color Surface Plots

Matplotlib 2D Color Surface Plots

I have spent years visualizing complex datasets, and I’ve found that nothing beats a well-crafted 2D color surface plot for showing trends. Whether I am analyzing temperature shifts across the Midwest or housing price density in California, these plots make data talk. In this tutorial, I will show you exactly how to build these visualizations … Read more >>

Plot Multiple Bar Charts with Time Series in Matplotlib

Multiple Bar Charts with Time Series in Matplotlib

Creating a visual representation of data over time is one of the most common tasks I handle as a Python developer. Whether I am tracking quarterly revenue or monitoring weather patterns in different US states, a time series bar plot is often my go-to choice. In this tutorial, I will show you exactly how to … Read more >>

Create a Matplotlib Boxplot for Time Series Data in Python

Matplotlib Boxplot for Time Series Data in Python

I’ve found that a single line chart often hides the most important parts of a story. When you are dealing with time series data, showing just the average or the trend line isn’t enough to see the full picture. You often need to see the “spread” or the volatility of that data over specific intervals, … Read more >>

How to Create a Matplotlib Time Series Scatter Plot

How to Create a Matplotlib Time Series Scatter Plot

Visualizing data over time is a task I perform almost daily as a developer. While line charts are the standard, there are many times when a scatter plot is actually the better choice. In my experience, scatter plots are perfect for identifying outliers in time-based data or showing specific events that don’t necessarily have a … Read more >>

How to Set Y-Axis Range in Matplotlib Bar Charts

Set Y-Axis Range in Matplotlib Bar Charts

In my years of building data dashboards for US-based financial firms, I’ve realized that Matplotlib’s default scaling isn’t always perfect. Sometimes, the auto-scaling feature hides the small differences between data points that actually matter for your analysis. In this tutorial, I will show you exactly how to take control of your Y-axis limits to make … Read more >>

Matplotlib Set Y Axis to Log Scale (base, symlog and zeros)

Matplotlib set y axis log scale: a linear plot beside the same data on a logarithmic y axis

To set a Matplotlib y axis to a log scale, call set_yscale on the axes or plt.yscale on the current figure: Two things catch people out. The argument is base, not basey, and any zero or negative value is dropped without a warning. Both are demonstrated below, on Python 3.12.5, Matplotlib 3.11.2. Setting the y … Read more >>