Memorandum @ Python ODER Seminar: matplotlib

matplotlib

>>> import pylab as plt
>>> from pylab import * #Einfaches aber nicht sehr gutes Muster

Vorbereitung der Daten

>>> x = plt.linspace(0, 2 * math.pi, 50) # 0-2*Ein Array von 50 gleichen Teilen des π-Intervalls
>>> y = plt.sin(x)

Anzeige als Grafik

>>> p = plt.plot(x, y)
>>> plt.show() # ipython --Wird nicht benötigt, wenn Sie Pylab verwenden

Möglichkeit

>>> plt.plot(x, y, 'Möglichkeit')
String Farbe
'b' Blau
'g' Grün
'r' rot
'c' Cyan
'm' Magenta
'y' Gelb
'k' schwarz
'w' Weiß
String Handlungsstrang
'-' durchgezogene Linie
'--' Gestrichelten Linie
'-.' Einpunkt-Kettenlinie
':' gepunktete Linie
'.' Punkt
',' Pixel
'o' Runden
'v' Abwärtsdreieck
'^' Dreieck nach oben
'<' Nach links zeigendes Dreieck
'>' Nach rechts zeigendes Dreieck
's' Quadrat
'p' Pentagon
'*' Star
etc

Legende / Label

--legend (): Legende (was die Linie zeigt) --xlabel () : Beschriftung der x-Achse --ylabel (): y-Achsenbeschriftung

Wenn Sie Japanisch verwenden möchten, müssen Sie die Schriftart im Voraus mit "Schrifteigenschaften" angeben.

>>> plt.xlabel(u"abcdefg")
>>> plt.ylabel(u"fugafuga")
>>> plt.legend([p], ("hogehoge"))
#Ich möchte Japanisch verwenden
>>> prop = matplotlib.font_manager.FontProperties(fname="Absoluter Pfad der Schrift")
>>> plt.xlabel(u"Fuga Fuga", fontproperties=prop)

Ordnen Sie die Grafiken an

Wenn Sie mehrere Diagramme in einer Figur anordnen möchten. Überraschend bequem und benutzerfreundlich.

--subplot () : Geben Sie an, wo mit dem Argument gearbeitet werden soll

>>> plt.subplot(221) #1. in 2 vertikalen Reihen und 2 horizontalen Reihen
>>> plt.plot(x, sin(x))
>>> plt.subplot(222)
>>> plt.plot(x, sin(-x))

Speichern Sie die erstellte Figur

Dies ist nützlich, wenn Sie das erstellte Diagramm auf Papier oder Folie legen.

--savefig (): Argument ist der zu speichernde Dateiname

>>> plt.savefig("hoge.png ", transparent=True (or False) #Machen Sie den Hintergrund transparent (nicht)

anders als das

Grundsätzlich sollte das Obige ausreichen. Aber manchmal benutze ich das Folgende.

Histogramm

>>> data = plt.normal(5, 3, 500) #Durchschnitt 5,Normale Zufallszahl mit Standardabweichung 3
>>> plt.hist(data, bins=30, color="red"); None

Balkendiagramm

>>> years = [str(i) for i in range(2005, 2014)]
>>> steps = plt.arange(len(years)) 
>>> sales = 100 + 40 * plt.rand(len(years))
>>> plt.bar(steps, sales, align="center", color="green")
>>> plt.xticks(steps, years); None

Kuchendiagramm

>>> rate_data = [0.3, 0.4, 0.2, 0.1]
>>> lbl = ["O", "A", "B", "AB"]
>>> ex = (0, 0.05, 0, 0)
>>> plt.axis("equal")
>>> plt.pie(rate_data, explode=ex, startangle=90, shadow=True, autopct="%1.1f%%", labels=lbl); None

Bildschirm

>>> imagedata = array([
			[1,1,1,1,1,1,1,1,1,1],
			[1,1,1,1,1,1,1,1,1,1],
			[1,1,0,1,1,1,1,0,1,1],
			[1,0,1,0,1,1,0,1,0,1],
			[1,1,1,1,1,1,1,1,1,1],
			[1,1,1,1,1,1,1,1,1,1],
			[1,0,1,1,1,1,1,1,0,1],
			[1,1,0,1,1,1,1,0,1,1],
			[1,1,1,0,0,0,0,1,1,1],
			[1,1,1,1,1,1,1,1,1,1]
])
>>> plt.imshow(imagedata)

füllen

>>> y1 = sin(x) * cos(x)
>>> plt.plot(x, y1)
>>> y2 = -sin(x) * cos(x)
>>> plt.plot(x, y2)
>>> plt.fill_between(x, y1, y2, interpolate=True, alpha=0.3)

3D-Plot

#Beispiel eines 3D-Diagramms
>>> from mpl_toolkits.mplot3d import Axes3D
>>> x3d = rand(100)
>>> y3d = rand(100)
>>> z3d = rand(100)
>>> fig = figure()
>>> ax = fig.add_subplot(111, projection="3d")
>>> ax.scatter3D(x3d, y3d, z3d)


Recommended Posts

Memorandum @ Python ODER Seminar: matplotlib
Memorandum @ Python ODER Seminar
Memorandum @ Python ODER Seminar: Pulp
Memorandum @ Python ODER Seminar: Pandas
Memorandum @ Python ODER Seminar: Scikit-Learn
Matplotlib Memorandum
Python-Memorandum
Python-Memorandum 2
Python-Memorandum
Python Memorandum
Python Memorandum
Python-Memorandum
Python Memorandum
Python-Memorandum
Python-Grundmemorandum
Python Pathlib Memorandum
# Python-Grundlagen (#matplotlib)
Meine Matplotlib (Python)
Python-Memorandum [Links]
Python> Liste> verlängern () oder + =
Python-Memorandum-Nummerierungsvariablen
Python Memorandum (sequentielle Aktualisierung)
Python aus oder importieren
Python Autotest oder Sniffer
Python-Memorandum (persönliches Lesezeichen)
Heatmap von Python + matplotlib
Python Basic Memorandum Teil 2
Installation von matplotlib (Python 3.3.2)
Python Memorandum Super Basic
matplotlib Graph-bezogenes Memorandum (Minimum)
Cisco Memorandum _ Eingabekonfiguration mit Python
Verwenden Sie matplotlib unter Ubuntu 12 und Python
Python 3.4 oder höher Standard Pip
ABC-Memorandum [ABC163 C --managementr] (Python)
Python-Anfänger-Memorandum-Funktion
[Python] Memorandum zur Vermeidung von SQLAlchemy-Fehlern
Python-Anwendung: Datenvisualisierung # 2: matplotlib
Memorandum über Korrelation [Python]
Python-Bitoperator und logische Summe
Ein Memorandum über den Python-Mock
[Python] Memorandum über zufällige Generationen
Rubys `` wie in Python. 2.6 oder höher
Python oder und und Operatorfalle
Python-Memorandum zur parallelen / asynchronen Ausführung
ABC-Memorandum [ABC159 C - Maximales Volumen] (Python)
Erstellen Sie eine Plotanimation mit Python + Matplotlib
Python pywin32 (win32com) Excel-Memorandum