La fonction axe de matplotlib est pratique et facilite l'ajustement des coordonnées.
ʻAxis ("tight") rend les marges aussi petites que possible, ʻAxis ("image")
garde la même chose avec le rapport hauteur / largeur.
Mais l'ajout de colorbar
rend les choses déroutantes.
Considérez le cas simple suivant:
import numpy as np
import matplotlib.pyplot as plt
Nx = 100
Ny = 20
a = np.random.rand(Ny, Nx)
x = range(Nx)
y = range(Ny)
X, Y = np.meshgrid(x, y)
plt.pcolormesh(X, Y, a)
plt.axis("image")
plt.colorbar()
Je pense que c'est un passe-temps personnel que je veux que la barre de couleurs sorte en ce moment. Ce n'est pas ma préférence.
C'est là qu'intervient make_axes_locatable
.
from mpl_toolkits.axes_grid1 import make_axes_locatable
fig, ax = plt.subplots()
image = ax.pcolormesh(X, Y, a)
ax.axis("image")
divider = make_axes_locatable(ax)
ax_cb = divider.new_horizontal(size="2%", pad=0.05)
fig.add_axes(ax_cb)
plt.colorbar(image, cax=ax_cb)
Si vous souhaitez générer plusieurs diagrammes, je pense que ce compact est meilleur. Lors de la génération de plusieurs chiffres
fig = plt.figure()
ax = plt.subplot(311)
Si vous obtenez comme ça, le reste est le même.
Recommended Posts