Eindimensionale Daten

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);
../../../_images/b7a30536ed37c0f895af6563f1aa972c4493c5cd05d3e83e0134e1449db5899c.png
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);
../../../_images/427fff9acc065b3446ccf8f3799300dc18353dc2d7360b7ec3e6723101fdbb02.png

Die Linienart kann mit dem Argument linestyle bzw. in kurz ls angepasst werden:

linestyle

Liniendarstellung

- oder solid

durchgezogen

-- oder dashed

gestrichelt

: oder dotted

gepunktet

:- oder dashdot

gestrichelt und gepunktet

oder None

keine

plt.plot(x, y, ls=':');
../../../_images/1778bd13584096e08b9b893e03841f802f534fea531c85488ff80aeab7de48b4.png

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.

marker

Punktedarstellung

.

Punkt

o

Kreis

s

Quadrat

+

Pluszeichen

x

x-Zeichen

D

Diamantform

Die Größe der Marker kann mit dem Argument markersize gesetzt werden.

plt.plot(x, y, ls='--', marker='s');
../../../_images/6bd8ba18e1cb7ba9ccbd02ed6c1498ffaa8c00c579ef71747eb39aadd0b7e59f.png

Die Linienstärke kann mit dem Argument linewidth bzw. lw angegeben werden.

plt.plot(x, y, ls='-', lw=4, marker='s', markersize=10);
../../../_images/0de5db01b4d9f7d9b9f2e6b3076a555dbd0d0832b4b4a5477fdf3f0739c5e47b.png

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);
../../../_images/2094eda0e9ec752e2de088de2817972100c116d91f1c657b44cb488c1ea4937e.png

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);
../../../_images/40a44c87d78e4da2b4eade42711903829c5261fcaa34140045d7c445dbafb4a1.png

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);
../../../_images/de55bbea823b0ed91189994bd34ae34b216821ed9bb007bba6ca7e5c4506bf52.png