[PYTHON] Définissez les paramètres communs avec le sous-graphique de matplotlib

Chose que tu veux faire

Je souhaite définir des paramètres communs tels que des grilles et des étiquettes pour tous les axes dessinés avec le sous-tracé de matplotlib. Example1.png

Méthode 1

  1. Obtenez une liste d'axes.
  2. Boucle pour chaque axe
  3. Changer l'axe actuel
# 1.Obtenez une liste d'axes
axs = plt.gcf().get_axes()

# 2.Boucle pour chaque axe
for ax in axs:
    # 3.Changer l'axe actuel
    plt.axes(ax)

Exemple de code

import matplotlib.pyplot as plt
import numpy as np

#Les données
x  = np.linspace(-np.pi, np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# figure
plt.figure(figsize=(8,4))

#Parcelle 1
plt.subplot(1,2,1)
plt.plot(x,y1,label='sin')

#Parcelle 2
plt.subplot(1,2,2)
plt.plot(x,y2,label='cos')

#Obtenez une liste d'axes
axs = plt.gcf().get_axes()

#Boucle pour chaque axe
for ax in axs:
    #Changer l'axe actuel
    plt.axes(ax)

    #Afficher la légende
    plt.legend(loc=2)

    #la grille
    plt.grid(linestyle='--')

    #Étiquette d'axe
    plt.xlabel('x')
    plt.ylabel('y')

    #Gamme d'axes
    plt.xlim([-np.pi, np.pi])
    plt.ylim([  -1.2,   1.2])

#Ajustement de la figure
plt.tight_layout()

Méthode 2

  1. Répertoriez les données et les étiquettes.
  2. Boucle avec enumerate
  3. N'oubliez pas d'ajouter +1 à plt.subplot
# 1.Répertoriez les données et les étiquettes.
Y    = [y1, y2]
lbls = ['sin', 'cos']

# 2.Boucle en utilisant enumerate
for i, y in enumerate(Y):

    # 3. plt.subplot est+N'oubliez pas de
    plt.subplot(1,2,i+1)

Exemple de code 2

# figure
plt.figure(figsize=(8,4))
# list
Y    = [y1, y2]
lbls = ['sin', 'cos']

for i, y in enumerate(Y):
    #Sous-parcelle
    plt.subplot(1,2,i+1)
    
    #terrain
    plt.plot(x,y,label=lbls[i])

    #Afficher la légende
    plt.legend(loc=2)

    #la grille
    plt.grid(linestyle='--')

    #Étiquette d'axe
    plt.xlabel('x')
    plt.ylabel('y')

    #Gamme d'axes
    plt.xlim([-np.pi, np.pi])
    plt.ylim([  -1.2,   1.2])

#Ajustement de la figure
plt.tight_layout()

Les informations complémentaires suivantes

gca, gcf Vous pouvez obtenir la figure courante avec plt.gcf () et les axes courants avec plt.gca (). Vous pouvez également spécifier l'axe actuel avec plt.axes ().

Structure hiérarchique

La figure de matplotlib a une structure hiérarchique comme le montre la figure ci-dessous, comme MATLAB. 図1.png

Il y a des axes sur la figure et des lignes dans les axes. Vous pouvez obtenir une liste de tous les axes de la figure courante avec plt.gcf (). Get_axes (). De plus, plt.gca (). Get_lines () peut récupérer toutes les lignes dans les axes courants.

Recommended Posts

Définissez les paramètres communs avec le sous-graphique de matplotlib
Alignez la taille de la barre de couleurs avec matplotlib
Faire une figure partiellement zoomée avec matplotlib
[Python] Rendons matplotlib compatible avec le japonais
Créer une API pour le thermo-hygromètre Switchbot avec Node-RED
[Python] axe limite du graphe 3D avec Matplotlib
Augmentez la taille de la police du graphique avec matplotlib
Animation avec matplotlib
Japonais avec matplotlib
Animation avec matplotlib
histogramme avec matplotlib
Faire une animation avec matplotlib
Ajoutez des informations au bas de la figure avec Matplotlib
Changer les paramètres IP en ACL de conoha avec python
Ajustez le rapport de plusieurs chiffres avec le gridspec de Matplotlib
Créer des couches Lambda avec Lambda
Graphique 2 axes avec Matplotlib
Créez un Yuma avec Discord.py
Carte thermique par Python + matplotlib
Graphique de bande avec matplotlib
Apprenez avec Chemo Informatics Matplotlib
Dessin en temps réel avec matplotlib
Différentes barres de couleurs avec Matplotlib
Graphique 3D avec matplotlib
Installation de matplotlib (Python 3.3.2)
Créer des diapositives avec iPython
Ajustez les axes avec matplotlib
Effectuer une analyse isocurrent des canaux en eau libre avec Python et matplotlib
Créer une animation gif à partir d'un fichier de numéro de série avec matplotlib
Reformatez l'axe des temps du graphique de la série chronologique des pandas avec matplotlib
Visualisons le nombre de personnes infectées par le virus corona avec matplotlib
J'ai écrit le fonctionnement de base de matplotlib dans Jupyter Lab