[PYTHON] Ich habe die Grundoperation von matplotlib in Jupyter Lab geschrieben

Dieser Artikel ist ein Artikel, in dem ich die grundlegende Funktionsweise von matplotlib, die im Blog von Kame (@usdatascientist) (https://datawokagaku.com/python_for_ds_summary/) beschrieben ist, mithilfe von Jupyter Lab codiert habe.

Zusammenfassung der Grundoperationen von Matplotlib

20 ..

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

Fügen Sie die angehängten Informationen hinzu

Beim Zeichnen mit matplotlib können verschiedene angehängte Informationen hinzugefügt (oder gelöscht) werden. Die, die ich oft benutze, sind wie folgt.

Beschriften Sie die x-Achse mit plt.xlabel ()

Beschriften Sie die y-Achse mit plt.ylabel ()

Geben Sie der Figur einen Titel mit plt.title ()

Beschriften Sie den Plot mit plt.plot (label = 'label') und die Legende mit plt.legend ()

Fügen Sie der x-Achse mit plt.xticks () beliebige Häkchen hinzu

Fügen Sie der y-Achse mit plt.yticks () beliebige Häkchen hinzu

Löschen Sie die Achse mit plt.axis (‘off’)

plt.plot(x,y)
# plt.xlabel()Beschriften Sie die x-Achse mit
plt.xlabel('Efforts')
# plt.ylabel()Beschriften Sie die y-Achse mit
plt.ylabel('Earning')
# plt.title()Geben Sie der Figur einen Titel mit
plt.title('This is how your efforts earns')
Text(0.5, 1.0, 'This is how your efforts earns')

png

# plt.plot(label='Etikette')でplotにEtiketteをつけ, plt.legend()Eine Legende geben
plt.plot(x, y, label='Earning with effort')
plt.legend()
# plt.xticks()Fügen Sie der x-Achse mit beliebige Häkchen hinzu
plt.xticks(np.arange(-3, 4, 0.5))
# plt.yticks()Befestigen Sie beliebige Häkchen an der y-Achse mit
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')Löschen Sie die Achse mit
plt.legend()
<matplotlib.legend.Legend at 0x7f05182f8e10>

png

21 ..

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

Objektorientierte Beschreibung

plt.figure Objekt

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

#Erstellen eines 1-mal-2-Diagramms Jedes Achsenobjekt wird als Liste in Achsen zurückgegeben
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

22

Passen Sie die Größe des Diagramms an

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

#In diesem Fall wird auf dem Monitor ein Diagramm mit 100 x 100 Pixel angezeigt.
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

Als PNG speichern

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() #Passen Sie das Diagramm an, um es besser sehen zu können

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

Als pdf speichern

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

pdf = PdfPages('savefig_sample.pdf')

#------Diagrammerstellung-------
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)
#---------------------

#Im PDF speichern
pdf.savefig(fig)
#enge Bearbeitung (ich werde es vorerst tun)
pdf.close()

png

Speichern Sie eine große Anzahl von Grafiken als PDF

pdf = PdfPages('savemultifig_sample.pdf')
for i in range(0, 10):
    #------Diagrammerstellung--------
    fig, axes = plt.subplots( )
    #Ich habe es so gestaltet, dass sich die Form des Diagramms allmählich ändert. (Angemessen.)
    axes.plot(x, y1 + x*i)
    #Gib ihm einen Titel. Stellen Sie sicher, dass Sie im PDF-Format nach Zeichen suchen können.
    axes.set_title('ID:#{}'.format(i))
    #-----------------------

    #In for-Schleife speichern
    pdf.savefig(fig)

#Nach Schleife schließen
pdf.close()

png

png

png

png

png

png

png

png

png

png

23 ..

So dekorieren Sie das Diagramm

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

Farbe: Farbe der Diagrammlinie ⇨ Geben Sie einen Farbnamen wie "Rot" oder "Grün" an. Initialen wie "r" und "g" sind in Ordnung.

lw (Linienbreite): Linienstärke ⇨ Anzahl. Bitte machen Sie es die Größe, die Sie mögen

ls (Linienstil): Linientyp ⇨ Geben Sie als "-" oder "-" an. Beides wird häufig verwendet.

marker: Markertyp ⇨ Geben Sie als "o" oder "x" an. Die Form des Markers ändert sich.

Markierungsgröße: Markierungsgröße ⇨ Anzahl. Bitte machen Sie es die Größe, die Sie mögen

markerfacecolor: Markierungsfarbe ⇨ Geben Sie den Namen der Farbe an, z. B. "Rot" oder "Grün". Initialen wie "r" und "g" sind in Ordnung.

markeredgecolor: Farbe im Markierungsrahmen ⇨ Geben Sie den Namen der Farbe an, z. B. „Rot“ oder „Grün“. Initialen wie "r" und "g" sind in Ordnung.

Markierungsstärke: Dicke des Markierungsrahmens ⇨ Anzahl. Bitte machen Sie es die Größe, die Sie mögen

Alpha: Plottransparenz ⇨ Geben Sie mit float zwischen 0 und 1 an. Je näher es an 0 liegt, desto höher ist die Transparenz.

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

Streudiagramm: 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

Histogramm: 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

Box Whisker: plt.boxplot ()

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

Recommended Posts

Ich habe die Grundoperation von matplotlib in Jupyter Lab geschrieben
Ich habe die grundlegende Operation von Pandas im Jupyter Lab geschrieben (Teil 2).
Ich habe die grundlegende Grammatik von Python in Jupyter Lab geschrieben
Ich habe die Grundoperation von Seaborn im Jupyter Lab geschrieben
Ich habe die Grundoperation von Numpy im Jupyter Lab geschrieben.
Richten Sie die Größe der Farbleiste an der Matplotlib aus
Erstellen Sie eine Ausführungsumgebung für Jupyter Lab
Erhöhen Sie die Schriftgröße des Diagramms mit matplotlib
Ich habe die Liste der Tastenkombinationen von Jupyter überprüft
Die Basis der Graphentheorie mit Matplotlib-Animation
Code zum Überprüfen des Betriebs von Python Matplot lib
Visualisieren Sie das Verhalten des Sortieralgorithmus mit matplotlib
Grundlegende Bedienung von Pandas
Grundlegende Bedienung von Pandas
Ich habe versucht, die Grundform von GPLVM zusammenzufassen
Ich habe die Leistung von 1 Million Dokumenten mit mongoDB gemessen
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Holen Sie sich mit Python den Betriebsstatus von JR West
[Einführung in Python] Grundlegende Verwendung der Bibliothek matplotlib
Passen Sie das Verhältnis mehrerer Zahlen mit der Rasterspezifikation von Matplotlib an
Ich habe dir geschrieben, dass du das Signal mit Go sehen sollst
Ich möchte die Standortinformationen von GTFS Realtime auf Jupyter zeichnen! (Mit Ballon)
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht, das Bild mit Python + OpenCV "gammakorrektur" zu machen
Ich habe GP mit Numpy geschrieben
Ich habe den Code für die japanische Satzgenerierung mit DeZero geschrieben
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
Ich habe die Strategie des Aktiensystemhandels mit Python evaluiert.
Ich möchte Betriebsinformationen über die Yahoo-Route erhalten
Ich habe versucht, den FloodFill-Algorithmus mit TRON BATTLE von CodinGame zu implementieren
Versuchen Sie, den Betrieb von Netzwerkgeräten mit Python zu automatisieren
Stellen wir uns die Anzahl der mit Matplotlib mit dem Coronavirus infizierten Personen vor
Ändern Sie das Thema von Jupyter
Ändern Sie den Stil von matplotlib
Ich schrieb einen Test in "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren".
Ich habe die Geschwindigkeit von Hash mit Topaz, Ruby und Python verglichen
Ich habe versucht, das Ranking des Qiita-Adventskalenders mit Python zu kratzen
Ich habe versucht, eine eigenständige Bereitstellung von Play with Fabric [AWS-Operation mit Boto] [Play Deployment] durchzuführen.
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
[Python] Ich habe die Route des Taifuns mit Folium auf die Karte geschrieben
[Einführung in StyleGAN] Ich habe mit "The Life of a Man" ♬ gespielt
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
Ich habe den Code geschrieben, um den Brainf * ck-Code in Python zu schreiben
Ich habe versucht, die Größe des logischen Volumes mit LVM zu erweitern
Ich möchte die Position meines Gesichts mit OpenCV überprüfen!
Ich habe versucht, den DNN-Teil von OpenPose mit Chainer-CPU auszuführen
Ich habe das Bild der Science University auf Twitter mit Word2Vec überprüft.
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Ich habe den Mechanismus der Flaschenanmeldung untersucht!
Über den Grundtyp von Go
Ich mochte den Tweet mit Python. ..
Ich habe die Warteschlange in Python geschrieben
Über die Größe der Punkte in Matplotlib
Ich habe den Stack in Python geschrieben
Grundlegendes Studium von OpenCV mit Python
Ich möchte das Problem des Speicherverlusts bei der Ausgabe einer großen Anzahl von Bildern mit Matplotlib lösen
Ich habe die numerische Berechnung von Python durch Rust ersetzt und die Geschwindigkeit verglichen
[Ich habe den Raspberry Pi (1) berührt] Ich habe die grundlegenden Funktionen der Minecraft Pi Edition (Vorabversion 2015.5.23) zusammengefasst.