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

Jinku Hu 30 janvier 2023
  1. Méthode gridspec
  2. Méthode gridspec_kw
  3. Méthode subplot2grid
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.

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

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.

Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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

Article connexe - Matplotlib Subplot