Augmenter / Ajuster l'espace entre les labels des axes et la figure avec Matplotlib

Published: 15 août 2014

DMCA.com Protection Status

Avec matplotlib on peut facilement ajuster l'espace entre les labels et la figure
en utilisant l'argument "labelpad" avec xlabel et/ou ylabel. Exemple avec labelpad=20:

Exemple (1/2) avec labelpad=20: Comment augmenter l'espace entre les labels des abscisses et la figure sous Matplotlib.
Exemple (1/2) avec labelpad=20: Comment augmenter l'espace entre les labels des abscisses et la figure sous Matplotlib.

import matplotlib.pyplot as plt
import numpy as np


def f(x):
     return 0.4 * x + 2

fig, ax = plt.subplots()

plt.plot([0.0, 10.0], [0.0, 10.0], 'r-', lw=2) # Red straight line
plt.plot([2.0, 6.0], [0.0, 10.0], 'b--', lw=2) # Blue dashed straight line

plt.xlabel('X axis Label ...', labelpad=20)

plt.savefig('StraightLine2.png')

plt.show()

Remarque: si vous mettez un labelpad trop grand votre label risque de sortir de l'image et de ne plus être visible. Dans ce cas de figure il faut aussi modifier les marges de la figure avec bbox_inches='tight' et pad_inches=0.3, comme dans cet exemple:

Exemple (2/2) avec labelpad=40: Comment augmenter l'espace entre les labels des abscisses et la figure sous Matplotlib.
Exemple (2/2) avec labelpad=40: Comment augmenter l'espace entre les labels des abscisses et la figure sous Matplotlib.

import matplotlib.pyplot as plt
import numpy as np


def f(x):
     return 0.4 * x + 2

fig, ax = plt.subplots()

plt.plot([0.0, 10.0], [0.0, 10.0], 'r-', lw=2) # Red straight line
plt.plot([2.0, 6.0], [0.0, 10.0], 'b--', lw=2) # Blue dashed straight line

#plt.xlabel('X axis Label ...')
plt.xlabel('X axis Label ...', labelpad=40)

#ax.xaxis.labelpad = 40

plt.savefig('StraightLine3.png',bbox_inches='tight', pad_inches=0.3)

plt.show()

Recherches associées

Image

of