[PYTHON] Un tableau de référence rapide de matplotlib nécessaire pour dessiner un diagramme pour convaincre votre patron

Lorsque je considère les quantités de fonctionnalités dans l'apprentissage automatique, etc., je souhaite dessiner divers diagrammes. Les diagrammes sont également importants pour expliquer aux autres (en particulier les patrons, patrons, patrons ...). Si vous ne l'écrivez pas clairement, vous serez obligé de recommencer. J'ai énuméré les processus qui peuvent être utiles à ce moment-là.

importer

import matplotlib.pyplot as plt

Créer un diagramme (fig, hache)

Unité simple

import matplotlib.pyplot as plt
fig = plt.figure(figsize=(15, 8), dpi=100)
ax1 = plt.axes()

La taille de la figure est en pouces (horizontal, vertical) et le dpi est le nombre de pixels par pouce. Donc, dans ce cas, c'est une image de 1500 x 800. dpi = 100 est la valeur par défaut, figsize est la valeur par défaut (6,4), Les affichages récents sont plus horizontaux et ont une meilleure qualité d'image, je l'ai donc réglé sur (15,8).

Plusieurs

fig = plt.figure(figsize=(15, 8), dpi=100)
ax1 = plt.subplot(2, 2, 1) #1ère ligne 1ère colonne
ax2 = plt.subplot(2, 2, 2) #1ère ligne, 2ème colonne
ax3 = plt.subplot(2, 2, 3) #2ème ligne, 1ère colonne
ax4 = plt.subplot(2, 2, 4) #2e rangée, 2e colonne

Ou collectivement

fig, ax = plt.subplots(2, 2, figsize=(15, 8), dpi=100)
ax1 = ax[0, 0] #1ère ligne 1ère colonne
ax2 = ax[0, 1] #1ère ligne, 2ème colonne
ax3 = ax[1, 0] #2ème ligne, 1ère colonne
ax4 = ax[1, 1] #2e rangée, 2e colonne

Alternativement, il peut être ajouté dynamiquement.

fig = plt.figure(figsize=(15, 8), dpi=100)
ax1 = fig.add_subplot(2, 2, 1)
ax2 = fig.add_subplot(2, 2, 2)
ax3 = fig.add_subplot(2, 2, 3)
ax4 = fig.add_subplot(2, 2, 4)

Dessiner un diagramme

Tracer une ligne

import numpy as np
y = np.random.randn(100) #Échantillon de 100 pièces de la distribution normale standard
x = np.arange(y.shape[0])
ax1.plot(y, x, linewidth=0.5)

linewidth est l'épaisseur de la ligne. Les autres éléments susceptibles d'être utilisés sont la couleur, le type de ligne, le marqueur, l'étiquette, l'ordre z, etc.

--linewidth ... Epaisseur de la ligne. --linestyle ... Spécifiez la pratique et les lignes pointillées. Cliquez ici pour plus de détails (https://matplotlib.org/gallery/lines_bars_and_markers/line_styles_reference.html) --marker ... Spécification du marqueur. Cliquez ici pour plus de détails (https://matplotlib.org/api/markers_api.html). --color ... La couleur de la ligne. Cliquez ici pour plus de détails (https://matplotlib.org/api/colors_api.html) --label ... Utilisé pour la légende. Il peut être affiché avec ax.legend () décrit plus tard. --zorder ... Spécifiez l'ordre d'affichage à l'avant et à l'arrière.

Il existe d'autres kwargs qui peuvent utiliser matplotlib.pyplot.plot, et la propriété Line2D peut être utilisée. Pour le moment ici a une liste.

Nuage de points

Il est souvent utilisé comme marqueur sur les graphiques en nuage de points et les formes d'onde ordinaires.

ax.scatter(0.5, 0.5, s=600, c="red", alpha=0.1)

Vous pouvez définir la taille pour s, la couleur pour c et la transparence pour alpha.

lettre

Par exemple, utilisez-le lorsque vous souhaitez représenter une valeur numérique spécifique de la partie marqueur. C'est ce qu'on appelle la valeur maximale, mais combien est-ce précisément? Vous pouvez expliquer des choses comme ça sans lire l'échelle.

ax.text(0.5, 0.5, "test", va="bottom", ha="left", color="red")

référence

Une liste de ce que vous pouvez dessiner est disponible ici (https://matplotlib.org/api/_as_gen/matplotlib.pyplot.html).

Disposer chaque hache

Donnez un titre

ax1.set_title("Titre")

Limitez la plage des axes.

ax1.set_xlim([0.0, 1.0])
ax1.set_ylim([0.0, 1.0])

Contrôlez l'espacement des échelles.

ax1.set_xticks([0.0, 0.5, 1.0])
ax1.set_yticks([0.0, 0.5, 1.0])

En fait, il est pratique de créer avec np.linspace (minimum, maximum, nombre de ticks).

Ajouter une étiquette à l'échelon défini

ax1.set_yticklabels(["petit", "Pendant ~", "Gros"])

Afficher la légende

ax1.legend(["test"], fontsize=7, loc="upper left")

Si la propriété label est spécifiée pendant le tracé, la partie ["test"] est inutile. Vous pouvez contrôler la taille de la police avec la taille de la police et l'emplacement d'affichage avec loc. Pour la valeur du paramètre loc, reportez-vous à la chaîne d'emplacement dans ici.

Afficher l'étiquette de l'axe

ax1.set_ylabel("Axe X")
ax1.set_ylabel("Axe Y")

Afficher la grille

ax.grid(b=True, linestyle=":")

Ajustement après l'affichage de toutes les haches

Un sort qui prépare en quelque sorte

plt.tight_layout()

Sortie de la figure

Affiché à l'écran.

plt.show()

Dans un environnement où rien ne peut être affiché, l'image est sortie comme indiqué ci-dessous.

plt.savefig("aaa.png ")

Fermer / supprimer la figure

Fermer si affiché.

plt.close()

De plus, le chiffre est rejeté. S'il n'est pas détruit, il peut occuper de la mémoire.

plt.clf()

Recommended Posts

Un tableau de référence rapide de matplotlib nécessaire pour dessiner un diagramme pour convaincre votre patron
Comment dessiner un graphique avec Matplotlib
[Python] Comment dessiner un histogramme avec Matplotlib
[Python] Comment dessiner un diagramme de dispersion avec Matplotlib
J'ai essayé de dessiner un diagramme de configuration à l'aide de diagrammes
Créez instantanément un diagramme de données 2D à l'aide de matplotlib de python