Open In App

Matplotlib.pyplot.colorbar() function in Python

Last Updated : 11 Dec, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

Colorbars are a visualization of the mapping from scalar values to colors. In Matplotlib they are drawn into a dedicated axis.

Note: Colorbars are typically created through Figure.colorbar or its pyplot wrapper pyplot.colorbar, which uses make_axes and Colorbar internally. As an end-user, you most likely won’t have to call the methods or instantiate the classes in this module explicitly.

matplotlib.pyplot.colorbar() in python

The colorbar() function in pyplot module of matplotlib adds a colorbar to a plot indicating the color scale.

Syntax:matplotlib.pyplot.colorbar(mappable=None, cax=None, ax=None, **kwarg)

Parameters:

ax: This parameter is an optional parameter and it contains Axes or list of Axes.

**kwarg(keyword arguments): This parameter is an optional parameter and are of two kinds:   

colorbar properties:

extend:{‘neither’, ‘both’, ‘min’, ‘max’} makes pointed end(s) for out-of-range
values.   

label:The label on the colorbar’s long axis.  

ticks:None or list of ticks or Locator.     

Returns:colorbar which is an instance of the class ‘matplotlib.colorbar.Colorbar’.      

Below examples illustrate the matplotlib.pyplot.colorbar() function in matplotlib.pyplot:

Example #1: To Add a horizontal colorbar to a scatterplot.

Python3




# Python Program illustrating
# pyplot.colorbar() method
import numpy as np
import matplotlib.pyplot as plt
  
# Dataset
# List of total number of items purchased 
# from each products
purchaseCount = [100, 200, 150, 23, 30, 50,
                 156, 32, 67, 89]
  
# List of total likes of 10 products
likes = [50, 70, 100, 10, 10, 34, 56, 18, 35, 45]
  
# List of Like/Dislike ratio of 10 products
ratio = [1, 0.53, 2, 0.76, 0.5, 2.125, 0.56
         1.28, 1.09, 1.02]
  
# scatterplot
plt.scatter(x=purchaseCount, y=likes, c=ratio, cmap="summer")
  
plt.colorbar(label="Like/Dislike Ratio", orientation="horizontal")
plt.show()


Output:

Example #2: To Add a single colorbar to multiple subplots.

Python3




# Python Program illustrating
# pyplot.colorbar() method
import matplotlib.pyplot as plt
  
# creates four Axes
fig, axes = plt.subplots(nrows=2, ncols=2)
  
for ax in axes.flat:
    im = ax.imshow(np.random.random((10, 10)), vmin=0, vmax=1)
  
plt.colorbar(im, ax=axes.ravel().tolist())
  
plt.show()


Output:

Example #3: To Add colorbar to a non-mappable object.

Python3




# Python Program illustrating
# pyplot.colorbar() method
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
  
x = np.linspace(0, 5, 100)
N = 7
  
# colormap
cmap = plt.get_cmap('jet', N)
  
fig, ax1 = plt.subplots(1, 1, figsize=(8, 6))
  
for i, n in enumerate(np.linspace(0, 2, N)):
    y = x*i+n
    ax1.plot(x, y, c=cmap(i))
  
plt.xlabel('x-axis')
plt.ylabel('y-axis')
  
# Normalizer
norm = mpl.colors.Normalize(vmin=0, vmax=2)
  
# creating ScalarMappable
sm = plt.cm.ScalarMappable(cmap=cmap, norm=norm)
sm.set_array([])
  
plt.colorbar(sm, ticks=np.linspace(0, 2, N))
  
  
plt.show()


Output:



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads