0
0
Matplotlibdata~5 mins

Colorbar formatting in Matplotlib

Choose your learning style9 modes available
Introduction

A colorbar helps us understand the colors in a plot by showing what values they represent. Formatting it makes the colorbar clear and easy to read.

When you have a heatmap or image plot and want to explain the color scale.
When you want to change the colorbar labels to show units or nicer numbers.
When you want to adjust the size or position of the colorbar to fit your plot.
When you want to add ticks or change their format on the colorbar.
When you want to make the colorbar match the style of your plot.
Syntax
Matplotlib
import matplotlib.pyplot as plt

# Create a plot with colorbar
im = plt.imshow(data)
cbar = plt.colorbar(im)

# Format colorbar
cbar.set_label('Label text')  # Add label
cbar.set_ticks([0, 0.5, 1])  # Set tick positions
cbar.ax.tick_params(labelsize=10)  # Change tick label size
plt.show()

You first create a colorbar from a plot object like an image or heatmap.

Then you use the colorbar object to change labels, ticks, and appearance.

Examples
Adds a label to the colorbar to explain what the colors mean.
Matplotlib
cbar.set_label('Temperature (°C)')
Sets specific tick marks on the colorbar at these values.
Matplotlib
cbar.set_ticks([0, 0.25, 0.5, 0.75, 1])
Changes the font size and rotates the tick labels for better readability.
Matplotlib
cbar.ax.tick_params(labelsize=12, rotation=45)
Formats tick labels to show one decimal place and add units.
Matplotlib
cbar.ax.yaxis.set_major_formatter(plt.FuncFormatter(lambda x, _: f'{x:.1f} units'))
Sample Program

This code creates a heatmap from random data and adds a colorbar. The colorbar is labeled 'Intensity', has ticks at 0, 0.5, and 1, and the tick labels are sized for easy reading.

Matplotlib
import matplotlib.pyplot as plt
import numpy as np

# Create sample data
np.random.seed(0)
data = np.random.rand(10, 10)

# Plot data with colorbar
im = plt.imshow(data, cmap='viridis')
cbar = plt.colorbar(im)

# Format colorbar
cbar.set_label('Intensity')
cbar.set_ticks([0, 0.5, 1])
cbar.ax.tick_params(labelsize=10)

plt.title('Heatmap with formatted colorbar')
plt.show()
OutputSuccess
Important Notes

You can access the colorbar axis with cbar.ax to customize ticks and labels.

Use set_ticks to control where ticks appear on the colorbar.

Formatting tick labels can help make your plot clearer and more professional.

Summary

A colorbar shows the meaning of colors in a plot.

You can add labels, set ticks, and change tick label styles on the colorbar.

Formatting the colorbar helps others understand your data better.