3.1.2. Eindimensionale Daten#
import matplotlib.pyplot as plt
Liniendiagramme#
Eine der am häufigsten verwendeten Darstellungsformen sind Liniendiagramme. Diese werden mit der Methode plt.plot
erstellt. Eine ausführliche Dokumentation finden Sie hier. Im Folgenden werden die Grundfunktionen von plt.plot
kurz zusammengefasst.
Grundsätzlich werden zwei Listen übergeben, wobei die erste die x-Werte und die zweite die y-Werte der abzubildenden Daten enthält. Wird nur eine Liste übergeben, so werden diese als y-Werte interpretiert und gegen ihren Index aufgetragen.
werte = [1, 2, 4, 7, 7, 8, 6, 4, 2, 1, 0, 0]
plt.plot(werte);
x = [-3.5, -3, -2, -1.5, -1.0, 2.2, 2.5, 3.5]
y = []
for cx in x:
y.append(cx**3)
plt.plot(x, y);
Die Linienart kann mit dem Argument linestyle
bzw. in kurz ls
angepasst werden:
|
Liniendarstellung |
---|---|
|
durchgezogen |
|
gestrichelt |
|
gepunktet |
|
gestrichelt und gepunktet |
|
keine |
plt.plot(x, y, ls=':');
Darüber hinaus können die Punkte, welche durch die Linien verbunden werden, als Marker dargestellt werden. Dies erfolgt über das marker
Argument. Eine Auswahl ist in folgender Tabelle gegeben.
|
Punktedarstellung |
---|---|
|
Punkt |
|
Kreis |
|
Quadrat |
|
Pluszeichen |
|
x-Zeichen |
|
Diamantform |
Die Größe der Marker kann mit dem Argument markersize
gesetzt werden.
plt.plot(x, y, ls='--', marker='s');
Die Linienstärke kann mit dem Argument linewidth
bzw. lw
angegeben werden.
plt.plot(x, y, ls='-', lw=4, marker='s', markersize=10);
Punktwolken#
Sollen Punktdaten, d.h. Punkte ohne eine verbindende Linie, dargestellt werden, kann dazu die plt.scatter
Methode genutzt werden. Diese bekommt immer zwei Argumente, die x- und y-Positionen der Punkte. Darüber hinaus ist es hier möglich, die Größe und Farbe der Punkte anzugeben.
import math as m
# das random-Modul kann z.B. Zufallszahlen erzeugen
import random
n = 1000
px = []
py = []
pr = []
for i in range(n):
cx = m.sin(i)
cy = m.cos(i)
cr = random.random() # m.exp(-i*i/10000)
px.append(cr * cx)
py.append(cr * cy)
pr.append(cr*20)
plt.figure(figsize=(4,4), dpi=100)
plt.scatter(px, py);
Das Argument s
erlaubt die Anpassung der Größe der Punkte. Wird nur ein einziger Wert angegeben, gilt dieser für jeden Punkt, alternativ kann mit Hilfe einer Liste für jeden Punkt individuell eine Größe festgelegt werden. Die Liste muss entsprechend genauso viele Elemente beinhalten wie Datenpunkte vorhanden sind.
plt.figure(figsize=(4,4), dpi=100)
plt.scatter(px, py, s=pr);
Balkendiagramme#
Mit der Methode plt.bar
werden Balkendiagramme erstellt. Sie benötigt mindesten zwei Argumente: die Position der Balken und deren Höhe.
bx = list(range(5,15))
bh = []
for cx in bx:
bh.append(cx**4/10000)
plt.bar(bx, bh);