Open In App

Matplotlib.pyplot.set_cmap() in Python

Last Updated : 25 Apr, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Matplotlib.pyplot.set_cmap() is a function in matplotlib that is used to set the default colormap for the current image or plot. A color map is a mapping from data values to colors, and it is essential in visualizing data through color variations, particularly in heatmaps, contour plots, and other types of color-mapped visualizations.

Matplotlib.pyplot.set_cmap() Syntax

Syntax: matplotlib.pyplot.set_cmap(cmap)

Parameters:

  • cmap : This parameter is the colormap instance or the name of a registered colormap.

Returns: This method does not return any value.

Python Matplotlib.pyplot.set_cmap() Examples

Below are some examples by which we can learn more about Matplotlib.set_cmap() function and how to use Matplotlib cmap in Python:

  • Matplotlib Triangular Plot
  • Matplotlib Plot with Color Mapping
  • 3-D Surface Plot with Colormap

Matplotlib Triangular Plot Using matplotlib.set_cmap() Functions

In this example below code implements a triangular plot using Matplotlib, where radial and angular coordinates are used to define points. The radial values vary from 0.35 to 0.95, forming concentric circles, while the angular values cover a range from 0 to π, divided into 40 segments. These coordinates are then transformed into Cartesian coordinates (x, y) and an additional variable (z) is computed based on a sinusoidal function.

Python3
# Implementation of matplotlib function 
import matplotlib.pyplot as plt 
import matplotlib.tri as tri 
import numpy as np 
ang = 40
rad = 10
radm = 0.35
radii = np.linspace(radm, 0.95, rad) 

angles = np.linspace(0, np.pi, ang) 
angles = np.repeat(angles[..., np.newaxis], 
                rad, axis = 1) 

angles[:, 1::2] += np.pi / ang 

x = (radii * np.cos(angles)).flatten() 
y = (radii * np.sin(angles)).flatten() 
z = (np.sin(4 * radii) * np.cos(4 * angles)).flatten() 

triang = tri.Triangulation(x, y) 
triang.set_mask(np.hypot(x[triang.triangles].mean(axis = 1), 
                        y[triang.triangles].mean(axis = 1)) 
                < radm) 

tpc = plt.tripcolor(triang, z, 
                    shading ='flat') 
plt.set_cmap("Greens") 
plt.title('matplotlib.pyplot.set_cmap() Example') 
plt.show() 

Output:

Matplotlib Plot with Color Mapping using Matplotlib.set_cmap() Function

In this example, we are using Matplotlib to create a plot with two overlaid images. The first image (Z1) generates a checkerboard pattern using modulo operations, displayed in binary reversed colormap. The second image (Z2) is created by applying a mathematical function on a meshgrid (X, Y). The resulting plot combines both images with different alpha values, creating a visually interesting composition.

Python3
# Implementation of matplotlib function 
import matplotlib.pyplot as plt 
import numpy as np 
from matplotlib.colors import LogNorm 
    
dx, dy = 0.015, 0.05
x = np.arange(-4.0, 4.0, dx) 
y = np.arange(-4.0, 4.0, dy) 
X, Y = np.meshgrid(x, y) 

extent = np.min(x), np.max(x), np.min(y), np.max(y) 

Z1 = np.add.outer(range(8), range(8)) % 2
plt.imshow(Z1, cmap ="binary_r", 
        interpolation ='nearest', 
        extent = extent, alpha = 1) 

def geeks(x, y): 
    return (1 - x / 2 + x**5 + y**6) * np.exp(-(x**2 + y**2)) 

Z2 = geeks(X, Y) 

plt.imshow(Z2, alpha = 0.7, 
        interpolation ='bilinear', 
        extent = extent) 

plt.set_cmap("gist_rainbow") 
plt.title('matplotlib.pyplot.set_cmap() Example') 
plt.show() 

Output:

Surface Plot with Colormap Using matplotlib.set_cmap() Method

In this example, we are using NumPy and Matplotlib to create a 3D surface plot of a mathematical function. It generates a grid of x and y values, computes the corresponding z values based on the function (sin(sqrt(x^2 + y^2))), and visualizes the surface plot using the 'viridis' colormap. The code then adds the 'coolwarm' colormap using plt.set_cmap(), although this line seems unnecessary as it doesn't affect the created surface plot.

Python3
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# Generate data for a surface plot
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

# Create a 3D surface plot with colormap
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
surf = ax.plot_surface(X, Y, Z, cmap='viridis')

# Set colormap using set_cmap
plt.set_cmap('coolwarm')

plt.show()

Output:

i1


Next Article
Article Tags :
Practice Tags :

Similar Reads