Changing default Matplotlib settings

In order to change the default Matplotlib settings (for instance default colors, default linewidth, etc.), the user needs to modify the values of the matplotlib.pyplot.rcParams dictionary.

For a detailed description of all the customizarion methods, visisit matplotlib webpage.

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 200)
y = [np.cos(x), np.sin(x), np.cos(2*x), np.cos(x/2.)]
y = np.array(y).T
plt.figure()
plt.plot(x, y)
plt.show()
../_images/pyplot_settings_2_0.png

In a script

If the user wants to change the default values only within a given script, this is done as follows:

from cycler import cycler  # used to define color cycles
plt.rcParams['lines.linewidth'] = 5
plt.rcParams['axes.prop_cycle'] = cycler('color', ['darkorange', 'plum', 'gold'])
plt.figure()
plt.plot(x, y)
plt.show()
../_images/pyplot_settings_4_0.png

Changing the parameters for all sessions

Default matplotlib parameters are stored in a matplotlibrc configuration file. Python will search this file into 3 different locations in the following order order:

  1. in the current working directory (usually used for specific customizations that you do not want to apply elsewhere)

  2. $MATPLOTLIBRC if it is a file, else $MATPLOTLIBRC/matplotlibrc

  3. On .config/matplotlib/matplotlibrc (Linux) or .matplotlib/matplotlibrc (other platforms)

If no matplotlibrc file is found, then the default value will be used. The path of the matplotlibrc file that is used in a given session can be obtained by using the matplotlib_fname method.

print(mpl.matplotlib_fname())
/home/barrier/.config/matplotlib/matplotlibrc

To change your Matplotlib default parameters, download the sample matplotlibrc file and put it in any of the three directories described above.

Then, uncomment the lines you are interested in and change the values.