Comment créer différentes tailles de sous-parcelles dans Matplotlib
Nous pourrions utiliser gridspec_kw
, gridspec
et subplot2grid
pour spécifier différents ratios de sous-parcelles afin de créer des sous-parcelles de tailles différentes.
Méthode gridspec
import matplotlib.pyplot as plt
from matplotlib import gridspec
fig = plt.figure()
spec = gridspec.GridSpec(ncols=2, nrows=1, width_ratios=[2, 1])
ax0 = fig.add_subplot(spec[0])
ax0.plot(range(5), range(5, 10))
ax1 = fig.add_subplot(spec[1])
ax1.plot(range(5), range(5, 10))
plt.show()
Le module GridSpec
du module GridSpec
spécifie la géométrie de la grille des sous-parcelles. Nous pouvons définir le nombre de lignes, de colonnes et les paramètres de mise en page comme le rapport entre la largeur et la hauteur.
spec = gridspec.GridSpec(ncols=2, nrows=1, width_ratios=[2, 1])
Il spécifie que la figure a deux colonnes et une ligne et que le rapport de largeur est de 2:1
.
ax0 = fig.add_subplot(spec[0])
L’objet ax0
prend la place de la position 0
dans la géométrie telle que définie ci-dessus, ou vous pourriez utiliser spec[0, 0]
pour le rendre plus clair.
Méthode gridspec_kw
import matplotlib.pyplot as plt
fig, ax = plt.subplots(
2, 2, gridspec_kw={"width_ratios": [2, 1], "height_ratios": [1, 2]}
)
ax[0][0].plot(range(5), range(5, 10))
ax[0][1].plot(range(5), range(10, 5, -1))
ax[1][0].plot(range(5), range(5, 10))
ax[1][1].plot(range(5), range(10, 5, -1))
plt.show()
gridspec_kw
est le dictionnaire avec les mots clés pour le constructeur GridSpec
pour spécifier le tiers des sous-parcelles.
Le rapport de largeur est spécifié comme 2:1
, et le rapport de hauteur est fixé à 1:2
.
Méthode subplot2grid
Les subplots2grid
permettent aux sous-plots de prendre plusieurs cellules dans l’indexation de la grille basée sur 0.
def subplot2grid(shape,
loc,
rowspan=1,
colspan=1,
fig=None,
**kwargs):
La shape
est la forme de la grille, et a la séquence de 2 entiers dont le premier élément est le nombre de lignes et le second le nombre de colonnes.
Loc est l’endroit où l’on place l’axe dans la grille. C’est aussi la séquence de 2 entiers dont le premier élément est le nombre de lignes et le second le nombre de colonnes.
rowspan
et colspan
sont le nombre de lignes ou de colonnes pour que l’axe s’étende vers la droite (pour rowspan
) ou vers le bas (pour colspan
).
Exemple de codage de travail:
import matplotlib.pyplot as plt
fig = plt.figure()
ax0 = plt.subplot2grid((1, 5), (0, 0), colspan=3)
ax1 = plt.subplot2grid((1, 5), (0, 3), colspan=2)
ax0.plot(range(5), range(5, 10))
ax1.plot(range(5), range(10, 5, -1))
plt.show()
ax0 = plt.subplot2grid((1, 5), (0, 0), colspan=3)
ax1 = plt.subplot2grid((1, 5), (0, 3), colspan=2)
La grille a la forme de (1, 5)
qui comporte une ligne et cinq colonnes.
ax0
est placé dans la cellule (0, 0)
et prend 3 colonnes, et l’ax1
est placé dans la cellule (0, 3)
et prend les deux autres colonnes.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook