Comment créer différentes tailles de sous-parcelles dans Matplotlib

  1. Méthode gridSpec
  2. Méthode gridspec_kw
  3. Méthode subplot2grid

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.

Matplotlib Taille différente des sous-parcelles

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()

Matplotlib Différentes sous-parcelles Taille_gridspec_kw

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()

Matplotlib Different Subplot Size_subplot2grid.png

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.

Article connexe - Matplotlib Subplot

  • Comment améliorer la taille ou l'espacement des sous-parcelles avec de nombreuses sous-parcelles dans Matplotlib
  • Ajouter une sous-parcelle à une figure dans Matplotlib