[PYTHON] J'ai écrit le fonctionnement de base de matplotlib dans Jupyter Lab

Cet article est un article dans lequel j'ai en fait codé le fonctionnement de base de matplotlib décrit dans le blog de Kame (@usdatascientist) (https://datawokagaku.com/python_for_ds_summary/) en utilisant Jupyter Lab.

Résumé des opérations de base de matplotlib

20e

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x = np.linspace(-3, 3, 10)
y = np.exp(x)
print(x)
print(y)
[-3.         -2.33333333 -1.66666667 -1.         -0.33333333  0.33333333
  1.          1.66666667  2.33333333  3.        ]
[ 0.04978707  0.09697197  0.1888756   0.36787944  0.71653131  1.39561243
  2.71828183  5.29449005 10.3122585  20.08553692]
plt.plot(x,y)
[<matplotlib.lines.Line2D at 0x7f0518676c50>]

png

Joindre les informations ci-jointes

Lorsque vous dessinez avec matplotlib, diverses informations jointes peuvent être ajoutées (ou supprimées). Ceux que j'utilise souvent sont les suivants.

Étiquetez l'axe des x avec plt.xlabel ()

Étiquetez l'axe y avec plt.ylabel ()

Donnez un titre à la figure avec plt.title ()

Étiqueter le tracé avec plt.plot (label = 'label') et la légende avec plt.legend ()

Ajoutez des graduations arbitraires à l'axe des x avec plt.xticks ()

Ajoutez des graduations arbitraires à l'axe y avec plt.yticks ()

Effacer l’axe avec l’axe plt.

plt.plot(x,y)
# plt.xlabel()Étiquetez l'axe des x avec
plt.xlabel('Efforts')
# plt.ylabel()Étiquetez l'axe y avec
plt.ylabel('Earning')
# plt.title()Donnez un titre à la figure avec
plt.title('This is how your efforts earns')
Text(0.5, 1.0, 'This is how your efforts earns')

png

# plt.plot(label='étiquette')でplotにétiquetteをつけ, plt.legend()Pour donner une légende
plt.plot(x, y, label='Earning with effort')
plt.legend()
# plt.xticks()Ajoutez des graduations arbitraires à l'axe des x avec
plt.xticks(np.arange(-3, 4, 0.5))
# plt.yticks()Attachez des graduations arbitraires à l'axe y avec
plt.yticks([0, 5, 10, 20])
plt.show()

png

x = np.linspace(-3, 3, 10)
y1 = np.exp(x)
y2 = np.exp(x)*2
plt.plot(x, y1, label='first')
plt.plot(x, y2, label='second')
plt.legend()
<matplotlib.legend.Legend at 0x7f05182abc50>

png

plt.plot(x, y1, label='first')
plt.plot(x, y2, label='second')
plt.axis('off')
# plt.axis('off')Effacez l'axe avec
plt.legend()
<matplotlib.legend.Legend at 0x7f05182f8e10>

png

21e

subplot

x = np.linspace(-3, 3, 10)
y1 = np.exp(x)
y2 = x*x

plt.subplot(1, 2, 1)
plt.plot(x, y1)

plt.subplot(1, 2, 2)
plt.plot(x, y2)
[<matplotlib.lines.Line2D at 0x7f0505d1d690>]

png

Description orientée objet

objet plt.figure

fig = plt.figure()
type(fig)
matplotlib.figure.Figure




<Figure size 432x288 with 0 Axes>
fig = plt.figure()
ax1 = fig.add_subplot(1,2,1)
ax2 = fig.add_subplot(1,2,2)

ax1.plot(x, y1)
ax2.plot(x, y2)
[<matplotlib.lines.Line2D at 0x7f0505aead10>]

png

#Créer un tracé 1 par 2 Chaque objet axes est renvoyé sous forme de liste en axes
fig, axes = plt.subplots(nrows=1, ncols=2)
axes
array([<matplotlib.axes._subplots.AxesSubplot object at 0x7f0505bd2650>,
       <matplotlib.axes._subplots.AxesSubplot object at 0x7f0505a22a10>],
      dtype=object)

png

fig, axes = plt.subplots(nrows=1, ncols=2)
axes[0].plot(x, y1)
axes[1].plot(x, y2)
[<matplotlib.lines.Line2D at 0x7f0505894fd0>]

png

fig, axes = plt.subplots(nrows=3, ncols=3)
print(axes.shape)
(3, 3)

png

fig, axes = plt.subplots(nrows=3, ncols=3)
axes[1,2].plot(x,y2)
[<matplotlib.lines.Line2D at 0x7f05055cee90>]

png

fig, axes = plt.subplots(nrows=1, ncols=2)
axes[0].plot(x, y1, label='something')
axes[1].plot(x, y1)
axes[0].set_xlabel('xlabel1')
axes[0].set_ylabel('xlabel2')
axes[0].set_title('plot title')
axes[0].set_xticks([-3, -2, -1, 3])
axes[0].set_yticks([0, 10, 20])
axes[0].legend()
axes[1].axis('off')
(-3.3, 3.3, -0.9520004243731263, 21.08732441592866)

png

22e

Ajuster la taille du graphique

x = np.linspace(-3, 3, 10)
y1 = np.exp(x)
y2 = np.exp(x)*2
fig, axes = plt.subplots()
axes.plot(x, y1)
[<matplotlib.lines.Line2D at 0x7f0505c7cb10>]

png

#Dans ce cas, un graphique de 100 pixels x 100 pixels est affiché sur le moniteur.
fig, axes = plt.subplots(figsize=(1,1), dpi=100)
axes.plot(x, y1)
[<matplotlib.lines.Line2D at 0x7f0505308750>]

png

fig, axes = plt.subplots(figsize=(10, 3))
axes.plot(x, y1)
[<matplotlib.lines.Line2D at 0x7f05056641d0>]

png

Enregistrer au format png

fig, axes = plt.subplots(2, 1, figsize=(10, 3))
axes[0].plot(x, y1, label='something')
axes[1].plot(x, x*x)

axes[0].set_title('first')
axes[1].set_title('second')

axes[0].set_xlabel('x')
axes[0].set_ylabel('y')
axes[1].set_xlabel('x')
axes[1].set_ylabel('y')

fig.savefig('savefig_sample.png')

png

fig, axes = plt.subplots(2, 1, figsize=(10, 3))
axes[0].plot(x, y1, label='something')
axes[1].plot(x, x*x)

axes[0].set_title('first')
axes[1].set_title('second')

axes[0].set_xlabel('x')
axes[0].set_ylabel('y')
axes[1].set_xlabel('x')
axes[1].set_ylabel('y')

plt.tight_layout() #Ajustez le graphique pour le rendre plus facile à voir

fig.savefig('savefig_sample.png')

png

fig, axes = plt.subplots()
axes.plot(x, y1, label='first')
axes.plot(x, y2, label='second')
axes.plot(x, y1+y2, label='first+second')
axes.legend()
<matplotlib.legend.Legend at 0x7f0505664f50>

png

Enregistrer en pdf

from matplotlib.backends.backend_pdf import PdfPages
pdf = PdfPages('savefig_sample.pdf')
from matplotlib.backends.backend_pdf import PdfPages

pdf = PdfPages('savefig_sample.pdf')

#------Création de graphes-------
fig, axes = plt.subplots()
axes.plot(x, y1, label='first')
axes.plot(x, y2, label='second')
axes.plot(x, y1+y2, label='first+second')
axes.legend(loc=0)
#---------------------

#Enregistrer en pdf
pdf.savefig(fig)
#fermer le traitement (je le ferai pour le moment)
pdf.close()

png

Enregistrer un grand nombre de graphiques au format pdf

pdf = PdfPages('savemultifig_sample.pdf')
for i in range(0, 10):
    #------Création de graphes--------
    fig, axes = plt.subplots( )
    #Je l'ai conçu pour que la forme du graphique change progressivement. (Approprié.)
    axes.plot(x, y1 + x*i)
    #Donnez-lui un titre. Assurez-vous que vous pouvez rechercher des caractères en pdf.
    axes.set_title('ID:#{}'.format(i))
    #-----------------------

    #Enregistrer dans la boucle pour
    pdf.savefig(fig)

#Fermer après la boucle
pdf.close()

png

png

png

png

png

png

png

png

png

png

23e

Comment décorer le graphique

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x = np.linspace(-3, 3, 10)
y = np.exp(x)
plt.plot(x, y)
[<matplotlib.lines.Line2D at 0x7f050476fd90>]

png

couleur: Couleur de la ligne du graphique ⇨ Spécifiez un nom de couleur tel que «rouge» ou «vert». Les initiales telles que «r» et «g» sont correctes.

lw (largeur de ligne): Epaisseur de ligne ⇨ Numéro. Veuillez lui donner la taille que vous aimez

ls (style de ligne): Type de ligne ⇨ Spécifiez «-» ou «-». L'un ou l'autre de ces deux est souvent utilisé.

marqueur: type de marqueur ⇨ Spécifiez «o» ou «x». La forme du marqueur change.

markersize: Taille du marqueur ⇨ Numéro. Veuillez lui donner la taille que vous aimez

markerfacecolor: Couleur du marqueur ⇨ Spécifiez un nom de couleur tel que «rouge» ou «vert». Les initiales telles que «r» et «g» sont correctes.

markeredgecolor: Couleur dans le cadre du marqueur ⇨ Spécifiez le nom de la couleur tel que «rouge» ou «vert». Les initiales telles que «r» et «g» sont correctes.

markeredgewidth: Épaisseur du cadre du marqueur ⇨ Numéro. Veuillez lui donner la taille que vous aimez

alpha: Tracer la transparence ⇨ Spécifiez entre 0 et 1 avec float. Plus il est proche de 0, plus la transparence est élevée.

plt.plot(x, y, color='red', lw=5, ls='--', marker='o', markersize=15, markerfacecolor='yellow', markeredgecolor='blue',
        markeredgewidth=4, alpha=0.5)
[<matplotlib.lines.Line2D at 0x7f05050fbd90>]

png

Diagramme de dispersion: plt.scatter ()

import pandas as pd
df = pd.read_csv('train.csv')
plt.scatter(df['Age'], df['Fare'], alpha=0.3)
<matplotlib.collections.PathCollection at 0x7f04b99fbf50>

png

Histogramme: plt.hisgt ()

plt.hist(df['Age'])
plt.show()
/opt/anaconda3/lib/python3.7/site-packages/numpy/lib/histograms.py:829: RuntimeWarning: invalid value encountered in greater_equal
  keep = (tmp_a >= first_edge)
/opt/anaconda3/lib/python3.7/site-packages/numpy/lib/histograms.py:830: RuntimeWarning: invalid value encountered in less_equal
  keep &= (tmp_a <= last_edge)

png

plt.hist(df['Age'], bins=50)
plt.show()

png

Moustaches de boîte: plt.boxplot ()

df = df.dropna(subset=['Age'])
plt.boxplot(df['Age'])
plt.show()

Recommended Posts

J'ai écrit le fonctionnement de base de matplotlib dans Jupyter Lab
J'ai écrit le fonctionnement de base de Pandas dans Jupyter Lab (partie 2)
J'ai écrit la grammaire de base de Python dans Jupyter Lab
J'ai écrit le fonctionnement de base de Seaborn dans Jupyter Lab
J'ai écrit le fonctionnement de base de Numpy dans Jupyter Lab.
Alignez la taille de la barre de couleurs avec matplotlib
Créer un environnement d'exécution pour Jupyter Lab
Augmentez la taille de la police du graphique avec matplotlib
J'ai vérifié la liste des touches de raccourci de Jupyter
La base de la théorie des graphes avec l'animation matplotlib
Code pour vérifier le fonctionnement de Python Matplot lib
Visualisez le comportement de l'algorithme de tri avec matplotlib
Fonctionnement de base des pandas
Fonctionnement de base des Pandas
J'ai essayé de résumer la forme de base de GPLVM
J'ai mesuré les performances d'un million de documents avec mongoDB
Résumé du flux de base de l'apprentissage automatique avec Python
Obtenez l'état de fonctionnement de JR West avec Python
[Introduction à Python] Utilisation basique de la bibliothèque matplotlib
Ajustez le rapport de plusieurs chiffres avec le gridspec de Matplotlib
Je t'ai écrit pour regarder le signal avec Go
Je veux tracer les informations de localisation de GTFS Realtime sur Jupyter! (Avec ballon)
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé la "correction gamma" de l'image avec Python + OpenCV
J'ai écrit GP avec numpy
J'ai écrit le code pour la génération de phrases japonaises avec DeZero
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
J'ai évalué la stratégie de négociation du système boursier avec Python.
Je veux obtenir des informations sur le fonctionnement de Yahoo Route
J'ai essayé d'implémenter l'algorithme FloodFill avec TRON BATTLE de CodinGame
Essayez d'automatiser le fonctionnement des périphériques réseau avec Python
Visualisons le nombre de personnes infectées par le virus corona avec matplotlib
Changer le thème de Jupyter
Changer le style de matplotlib
J'ai écrit un doctest dans "J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python"
J'ai comparé la vitesse de Hash avec Topaz, Ruby et Python
J'ai essayé de gratter le classement du calendrier de l'avent Qiita avec Python
J'ai essayé le déploiement autonome de play avec fabric [opération AWS avec boto] [déploiement de lecture]
J'ai essayé d'automatiser l'arrosage du pot avec Raspberry Pi
[Python] J'ai écrit la route du typhon sur la carte en utilisant le folium
[Introduction à StyleGAN] J'ai joué avec "The Life of a Man" ♬
Je veux sortir le début du mois prochain avec Python
J'ai écrit le code pour écrire le code Brainf * ck en python
J'ai essayé d'agrandir la taille du volume logique avec LVM
Je veux vérifier la position de mon visage avec OpenCV!
J'ai essayé d'exécuter la partie DNN d'OpenPose avec le processeur Chainer
J'ai vérifié l'image de l'Université des sciences sur Twitter avec Word2Vec.
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
J'ai étudié le mécanisme de connexion flask!
À propos du type de base de Go
J'ai aimé le tweet avec python. ..
J'ai écrit la file d'attente en Python
À propos de la taille des points dans matplotlib
J'ai écrit la pile en Python
Etude de base d'OpenCV avec Python
Je souhaite résoudre le problème de fuite de mémoire lors de la sortie d'un grand nombre d'images avec Matplotlib
J'ai remplacé le calcul numérique de Python par Rust et comparé la vitesse
[J'ai touché le Raspberry Pi (1)] J'ai résumé les opérations de base de Minecraft Pi Edition (2015.5.23 pré-version)