In this tutorial, we will learn how to change the background theme or style of a plot made with matplotlib. Matplotlib offers a number of ready to use styles to use for matplotlib plots. We will first learn how to find the available style options and then learn to set a matplotlib style of interest to a plot.

Let us get started with loading the modules needed for making a plot with matplotlib. Matplotlib’s styles can be used after importing style from matplotlib.
1 2 3 | import matplotlib.pyplot as plt import numpy as np from matplotlib import style |
How to list all available matplotlib styles
Matplotlib has over 20 different styling options for making matplotlib plots. By using plt.style.available statement we can print all available styles.
1 2 3 | print (plt.style.available) [ 'Solarize_Light2' , '_classic_test_patch' , 'bmh' , 'classic' , 'dark_background' , 'fast' , 'fivethirtyeight' , 'ggplot' , 'grayscale' , 'seaborn' , 'seaborn-bright' , 'seaborn-colorblind' , 'seaborn-dark' , 'seaborn-dark-palette' , 'seaborn-darkgrid' , 'seaborn-deep' , 'seaborn-muted' , 'seaborn-notebook' , 'seaborn-paper' , 'seaborn-pastel' , 'seaborn-poster' , 'seaborn-talk' , 'seaborn-ticks' , 'seaborn-white' , 'seaborn-whitegrid' , 'tableau-colorblind10' ] |
By default, Matplotlib uses “default” style. Here we will learn how to change the default matplotlib style of a scatter plot made with matplotlib. We will generate data for making a scatter plot using Numpy’s random module.
1 2 3 4 | from numpy.random import default_rng rng = default_rng() x = rng.normal( 12.0 , 3 , 100 ) y = x + rng.normal( 2 , 1 , 100 ) |
To make scatter plot in Matplotlib, we use scatter() function.
1 2 3 4 5 6 7 8 | plt.scatter(x,y) plt.xlabel( "x" , size = 14 ) plt.ylabel( "y" , size = 14 ) plt.title( "Default Matplotlib Style Scatter plot" ) plt.savefig( "Default_matplotlib_style_scatterplot.png" , format = 'png' ,dpi = 150 ) |
Our scatter plot made with default matplotlib style looks like.

Changing Matplotlib Style using plt.style.use: Example 1
We can change matplotlib’s style using plt.style.use() function. Here we change the theme to ggplot2 style.
1 2 3 4 5 6 7 8 9 10 | plt.style.use( 'ggplot' ) plt.scatter(x,y) plt.xlabel( "x" , size = 14 ) plt.ylabel( "y" , size = 14 ) plt.title( "ggplot style in Matplotlib" ) plt.tight_layout() plt.savefig( "Change_matplotlib_style_to_ggplot_scatterplot.png" , format = 'png' ,dpi = 150 ) |

1 |
Changing Matplotlib Style using plt.style.use: Example 2
Here is another example, where we change Matplotlib plotting style to fivethirtyeight style.
1 2 3 4 5 6 7 8 9 | plt.style.use( 'fivethirtyeight' ) plt.scatter(x,y) plt.xlabel( "x" , size = 14 ) plt.ylabel( "y" , size = 14 ) plt.title( "fivthirtyeight style in Matplotlib" ) plt.savefig( "Change_matplotlib_style_scatterplot_to_538.png" , format = 'png' ,dpi = 150 ) |
