[Python] Weg zur Schlange (5) Spiele mit Matplotlib

Dies ist eine Ausbildung zum Datenwissenschaftler mit Python. Hier werden wir Matplotlib machen, drei Arten von heiligen Schätzen der Python-Datenanalyse.

Bisher konnte ich Python ausführen, aber von nun an werde ich das ipython-Notizbuch verwenden.

** PREV ** → [Python] Weg zur Schlange (4) Twumping Numpy ** WEITER ** → [Python] Weg zur Schlange (6) Pandas manipulieren

IPython Notebook IPython ist eine leistungsfähigere interaktive Shell als die Python-Shell. Mit dem IPython Notebook können Sie dies in Ihrem Browser tun. Es wird auch Python-Anfängern empfohlen, da Sie Code über die GUI ausführen, bearbeiten und speichern können. Da es mit wichtigen Bibliotheken wie Matplotlib und Pandas verknüpft ist, kann die Ausgabe außerdem als Bild eingebettet werden.

Sie können es mit dem folgenden Befehl starten. Das IPython Notebook ist in Anaconda enthalten und sollte bereits installiert sein. Wenn der Start erfolgreich ist, wird der Browser automatisch gestartet.

Terminal


$ ipython notebook

Wenn Sie es starten, sieht es so aus. Wählen Sie rechts [Neu]> [Notizbücher]> [Python], um ein neues Notizbuch zu erstellen. f0ee9d36d4f62936bfc61e7bb14747ad.png

Sobald Sie das Notizbuch geöffnet haben, können Sie den Code nach Belieben schreiben. Sie können auch einen Kommentar in Markdown schreiben. Sie können dies tun, indem Sie die Wiedergabemarke oben drücken oder "Shift + Enter" drücken. 2c0f791bbadaebc727640eea69f67acb.png

Matplotlib

Wie zeichnet man ein Diagramm?

Importieren Sie zunächst den Pyplot von mattplotlib als plt. Dies ist ein Standardschreibstil.

% matplotlib inline ist erforderlich, um Matplotlib-Diagramme inline im IPython Notebook anzuzeigen.

import matplotlib.pyplot as plt
%matplotlib inline

Zeichnen wir vorerst ein passendes Diagramm.

plt.plot([1, 3, 2, 4])

output_4_1.png

Sie können es so inline anzeigen.

Als nächstes werde ich Sin Wave und Cos Wave schreiben.

import numpy as np
from math import pi

#Generieren Sie ein Array, das in 100 von 0 bis 2π unterteilt ist
x = np.linspace(1, 2*pi, 100)
y = np.sin(x)
plt.plot(x, y)
#Zeichnen Sie Gitterlinien
plt.grid()
#Etikett zeichnen
plt.legend(['sin(x)'])

output_7_1.png

Mehrere Zeilen

Wenn Sie "% pylab" eingeben, werden numpy, matplotlib usw. bereits importiert.

%pylab

Um mehrere Linien zu zeichnen, teilen Sie sie wie Diagramm (x1, y1); Diagramm (x2, y2) oder zeichnen Sie sie wie Diagramm (x1, y1, x2, y2) zusammen. Wenn x gemeinsam ist, kann y np.array verwenden.

#0 bis 1 0.Generieren Sie ein Array in Schritten von 01
x  = arange(0, 1, 0.01)
#Erstellen Sie ein 2D-Array, indem Sie drei 1D-Arrays vertikal stapeln
a1 = vstack((x, x**2, x**3)); a1
#Transponieren und zeichnen
plot(x, a1.T)
grid()
legend('X X^2 X^3'.split(), loc='best')

output_12_1.png

Ausgabe in Datei

Geben Sie die obige Abbildung in eine Datei aus.

savefig('lines.png')

Sie können auch Shell-Befehle verwenden, indem Sie hinzufügen!

>>> !ls *.png
lines.png

Objekt explizite Methode

Wie oben erläutert, kann Matplotlib ohne Angabe von Objekten verwendet werden. Wenn Sie jedoch mehrere Diagramme und Linien betreiben, ist es besser, diese Objekte explizit zu betreiben.

x = linspace(0, 2*pi, 100)
figure1 = gcf()
axis1 = gca()

line1, line2, = axis1.plot(x, sin(x), x, cos(x))
line3, = axis1.plot(x, sin(x)+cos(x))
axis1.legend([line1, line2, line3], ['sin', 'cos', 'sin+cos'])

output_20_1.png

Achseneinstellungen

x = linspace(-10, 10, 200)
y = exp(-x ** 2)
plot(x, y)
grid()
#Schreiben Sie eine x-Achsenbeschriftung
xlabel('position')
#Schreiben Sie eine Beschriftung der y-Achse
ylabel('density')

output_22_1.png

plot(x, y)
#Untersuchen Sie den Bereich der automatisch eingestellten Achsen
xmin, xmax, ymin, ymax = gca().axis()  
#Passen Sie den Achsenbereich an, um die Sichtbarkeit zu verbessern
xlim([xmin*0.5, xmax*0.5])
ylim([ymin-0.1, ymax+0.1])
grid()
xlabel('position')
ylabel('density')

output_23_1.png

Line style

Sie können die Farbe und Form der Linie ändern.

from numpy.random import random


for i, style in enumerate(['r-o', 'g:x', 'b--^', 'm-.s']):
    plot(random(10)+i, style)

output_26_0.png

Balkendiagramm

left = np.array([1, 2, 3, 4, 5])
height1 = np.array([100, 200, 300, 400, 500])
height2 = np.array([1000, 800, 600, 400, 200])
p1 = plt.bar(left, height1, color="green")
p2 = plt.bar(left, height2, bottom=height1, color="orange")

output_28_0.png

Gestapelte Grafik

a1 = random((4,10))
x = range(10)
colors = list('rgbm')
stackplot(x, a1, colors=colors)
bars=[bar([0], [0], color=color) for color in colors]

output_30_0.png

Streudiagramm

Streudiagramm an Quadraturkoordinaten

t = linspace(0, 2*pi, 1000)  #Winkel
x = sin(3*t)
y = cos(5*t)
scatter(x, y, s=10)  #s ist die Größe des Punktes

output_33_1.png

Grafik in Polarkoordinaten

r = sin(2*t)
polar(t, r)

output_35_1.png

Kontur

z(x,y)=x^2+y^3

Zeichnen Sie farbcodierte Konturlinien.

x1 = y1 = linspace(-1, 1, 10)
x, y = meshgrid(x1, y1)
z = x**2 + y**3
n = linspace(-2, 2, 20)  #Konturdichte
contourf(x, y, z, n) #Die z-Achse wird durch Farbe dargestellt
grid()

output_38_0.png

3D-Grafik

#Importieren Sie Module für 3D
from mpl_toolkits.mplot3d import Axes3D

figure1 = gcf()
axis1 = Axes3D(figure1)
x1 = y1 = linspace(-5, 5, 50)
x, y = meshgrid(x1, y1)
z = exp(-(x**2 + y**2))
axis1.plot_surface(x, y, z, rstride=1, cstride=2)

output_40_1.png

** WEITER ** → [Python] Weg zur Schlange (6) Pandas manipulieren

Recommended Posts

[Python] Weg zur Schlange (5) Spiele mit Matplotlib
[Python] Der Weg zur Schlange (4) Numpy zwicken
[Python] Weg zur Schlange (6) Manipuliere Pandas
[Python] Weg zur Serpent (3) Python-Klasse
[Python] Straße zu Schlangen (1) Umgebungskonstruktion
Ein Weg zum mittleren Python
[Python] Wie zeichnet man mit Matplotlib ein Liniendiagramm?
[Python] Wie zeichnet man mit Matplotlib ein Streudiagramm?
[Road to Intermediate Python] Rufen Sie eine Klasseninstanz wie eine Funktion mit __call__ auf
Fraktal zum Erstellen und Spielen mit Python
Ich möchte mit aws mit Python spielen
[ROS2] So spielen Sie eine Bag-Datei mit Start im Python-Format ab
Der Weg zum Kompilieren zu Python 3 mit Thrift
Lesen einer CSV-Datei mit Python 2/3
Senden Sie eine Nachricht mit Python an LINE (LINE Notify)
[REAPER] Wie man Reascript mit Python spielt
Versuchen Sie, mit Python eine Lebenskurve zu zeichnen
[Python] Zeichnen mehrerer Diagramme mit Matplotlib
Ich möchte ein Spiel mit Python machen
Entscheide dich für einen Laborauftrag mit Python (Fiktion)
Schritte zum Erstellen eines Twitter-Bots mit Python
[Python] Wie zeichnet man mit Matplotlib ein Histogramm?
Ich möchte mit Python in eine Datei schreiben
Visualisiere grib2 auf einer Karte mit Python (matplotlib)
Heatmap von Python + matplotlib
[Python] Erstellt eine Klasse, um mit pyaudio Sinuswellen im Hintergrund zu spielen
So konvertieren / wiederherstellen Sie einen String mit [] in Python
Memo mit Python mit HiveServer2 von EMR verbunden
Lassen Sie uns ein Befehls-Standby-Tool mit Python erstellen
Python Ver. Einführung in WebPay mit ein wenig Code
[Lass uns mit Python spielen] Ein Haushaltsbuch erstellen
Vom Kauf eines Computers bis zur Ausführung eines Programms auf Python
[Python] Ein Memo zum vertikalen Schreiben von CSV mit Pandas
Ich möchte manuell eine Legende mit matplotlib erstellen
[Piyopiyokai # 1] Spielen wir mit Lambda: Erstellen eines Python-Skripts
Ich möchte einen Quantencomputer mit Python betreiben
Der Weg zum Herunterladen von Matplotlib
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
[Python] Spielen Sie mit Discords Webhook.
Machen Sie eine Lotterie mit Python
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
So installieren Sie NPI + Senden Sie eine Nachricht an Python
[Road to Intermediate Python] Installieren Sie Pakete in großen Mengen mit pip
So konvertieren Sie mit Python [Anwendung] von einem Array in ein Wörterbuch
Erstellen Sie einen Mastodon-Bot mit einer Funktion, die automatisch mit Python antwortet
Ich habe ein Paket erstellt, um Zeitreihen mit Python zu filtern
Eine Sammlung wettbewerbsfähiger Pro-Techniken, die mit Python gelöst werden können
Wahrscheinlich der einfachste Weg, um mit Python 3 ein PDF zu erstellen
[Python] Wie man mit Klassenvariablen mit Dekorator und Metaklasse spielt
Experimentieren Sie mit Python, um ein PDF für Selbstversorger für Kindle zu erstellen
Versuchen Sie, ein Unterfenster mit PyQt5 und Python zu öffnen
[Lass uns mit Python spielen] Bildverarbeitung zu Monochrom und Punkten
Erstellen einer Entwicklungsumgebung für die Python2.7-Serie mit Vagrant
[Road to Intermediate Python] Aktiviert Vergleichsoperationen mit Originalklassen
Erstellen Sie eine Nachricht, die der Lokalisierung entspricht, mit einer Python-Übersetzungszeichenfolge