Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set default colormap in Matplotlib

Especially when working with grayscale images it is tedious to set the color map for every imshow command as imshow(i, cmap='gray'). How can I set the default color map matplotlib uses to grayscale or any other colormap?

like image 327
Jarno Avatar asked Oct 17 '15 09:10

Jarno


People also ask

What is the default figure size in MatPlotLib?

If not provided, defaults to rcParams["figure. figsize"] (default: [6.4, 4.8]) = [6.4, 4.8] .

What is the name of the colormap that became the default MatPlotLib colormap?

Jet is the default colorbar originally used by matlab, and this default was inherited in the early days of Python's matplotlib package.

What is the default font in MatPlotLib?

I can tell that on this machine, DejaVu Sans is used by matplotlib.


1 Answers

To change the default colormap only for the current interactive session or one script use

import matplotlib as mpl mpl.rc('image', cmap='gray') 

For versions of matplotlib prior to 2.0 you have to use the rcParams dict. This still works in newer versions.

import matplotlib.pyplot as plt plt.rcParams['image.cmap'] = 'gray' 

To change the default colormap permanently edit the matplotlibrc configuration file and add the line image.cmap: gray. Replace the value gray with any other valid colormap according to your needs. The config file should be at ~/.config/matplotlib/matplotlibrc, but you can find out the exact location with

mpl.matplotlib_fname() 

This is especially useful if you have multiple matplotlib versions in different virtual environments.

See also http://txt.arboreus.com/2014/10/21/how-to-set-default-colormap-in-matplotlib.html and for general configuration of Matplotlib http://matplotlib.org/users/customizing.html

like image 118
Jarno Avatar answered Sep 21 '22 21:09

Jarno