[PYTHON] Dessinez plusieurs graphiques à l'aide de figures et d'axes matplotlib

Aperçu

Si vous utilisez matplotlib ad hoc sans lire la documentation, Je ne suis pas sûr des chiffres et des axes qui restent flous (Je ne sais pas)

Pourquoi j'ai écrit ceci

Après avoir lu la documentation pendant un moment, j'ai eu l'impression de la connaître. Je voulais que les autres le comprennent.

Pour bien comprendre

-Lire Officiel

Contenu

supposition

Ce qui suit est omis.

import numpy as np
import seaborn as sns
from matplotlib import pyplot as plt

Tout d'abord

C'est la relation entre la figure et les axes. la figure est la zone de dessin entière, les axes est la zone de dessin du graphique

--Lorsque le graphique a une zone de dessin pic1.png

--Lorsque le graphique a deux zones de dessin (1 ligne et 2 colonnes) pic2.png

Faisons deux zones de dessin de graphique vide avec une disposition sur 1 ligne et 2 colonnes

#Taille 8,Créez une zone de dessin de 4 et une zone de dessin d'un graphique 1 par 2
fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(8,4))

#Définir le titre de la figure
fig.suptitle("figure_title")

#Définir un titre dans la première zone de dessin
ax[0].set_title("axes0_title")

#Définir un titre dans la deuxième zone de dessin
ax[1].set_title("axes1_title")

Résultat d'exécution スクリーンショット 2020-11-01 21.15.23.png

Essayez de dessiner un graphique

#Faire 10000 nombres
norm_arr = np.random.randn(10000)

#Taille 6,Créer une zone de dessin de 3 et une zone de dessin d'un graphique 1 par 2
fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(6,3))

#Définir le titre de la figure
fig.suptitle("figure_title")

#Définir un titre pour les premiers axes
ax[0].set_title("axes0")

#Tracez un graphique sur les premiers axes
ax[0].hist(norm_arr)

#Définir un titre pour les seconds axes
ax[1].set_title("axes1")

#Dessinez un graphique avec seaborn sur les deuxièmes axes
sns.histplot(norm_arr, ax=ax[1])

Résultat d'exécution スクリーンショット 2020-11-01 21.21.37.png

Essayez de dessiner les uns sur les autres

#Ajoutez le code suivant à la fin du code de la section précédente
x_scat = np.random.randn(100)
y_scat = np.random.randint(low=100, high=500, size=(1,100))
ax[1].scatter(x_scat, y_scat) #Dessinez un diagramme de dispersion sur les premiers axes

Résultat d'exécution Résultat de l'exécution Vous pouvez voir qu'il est dessiné sur les seconds axes. スクリーンショット 2020-11-01 21.59.04.png

fin

Recommended Posts

Dessinez plusieurs graphiques à l'aide de figures et d'axes matplotlib
Dessinez plusieurs graphiques à l'aide de Pandas
[Python] Comment dessiner plusieurs graphiques avec Matplotlib
Animer plusieurs graphiques avec matplotlib
Dessinez facilement des graphiques avec matplotlib
Paramètres japonais pour les axes matplotlib et Seaborn
Comment titrer plusieurs figures avec matplotlib
Comment dessiner un graphique avec Matplotlib
Matplotlib Basics / Différence entre fig et axes
Créez des graphiques 3D interactifs sur Jupyter Lab à l'aide de matplotlib
Essayez d'utiliser matplotlib
Dessinez une animation de flux semblable à la Terre avec matplotlib et cartopy
Ajustez le rapport de plusieurs chiffres avec le gridspec de Matplotlib