Python Graphen Plotten für absolute Anfänger
Inhaltsverzeichnis
- Was ist Plotten?
- Was brauchen wir?
- Installation der benötigten Bibliotheken
- Dein erster Graph
- Verschiedene Arten von Graphen
- Graphen verschönern
- Häufige Fehler und Lösungen
- Weitere Beispiele
Was ist Plotten?
Plotten bedeutet, Daten in Form von Graphen, Diagrammen oder Plots zu visualisieren. Stell dir vor, du hast eine Liste von Zahlen und möchtest sie als Bild darstellen - das ist Plotten!
Beispiel: Du hast die Temperaturen einer Woche aufgeschrieben und möchtest sie als Linie sehen, um zu erkennen, an welchen Tagen es wärmer oder kälter war.
Was brauchen wir?
Für das Plotten in Python brauchen wir hauptsächlich zwei Bibliotheken:
- matplotlib - Die wichtigste Bibliothek zum Erstellen von Graphen
- numpy - Hilft uns beim Arbeiten mit Zahlen und Listen
Installation
Bevor wir anfangen, müssen wir die benötigten Bibliotheken installieren:
# In der Kommandozeile (Terminal/PowerShell) eingeben:
pip install matplotlib numpy
Dein erster Graph
Schritt 1: Die Bibliotheken importieren
import matplotlib.pyplot as plt
import numpy as np
Was passiert hier?
- matplotlib.pyplot
ist das Werkzeug zum Plotten - wir nennen es kurz plt
- numpy
hilft uns mit mathematischen Operationen - wir nennen es kurz np
Schritt 2: Daten erstellen
# Einfache Daten: x-Werte und y-Werte
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
Was bedeutet das?
- x
sind die Werte auf der waagerechten Achse (x-Achse)
- y
sind die Werte auf der senkrechten Achse (y-Achse)
- Hier haben wir 5 Punkte: (1,2), (2,4), (3,6), (4,8), (5,10)
Schritt 3: Den Graph erstellen und anzeigen
# Graph erstellen
plt.plot(x, y)
# Graph anzeigen
plt.show()
Vollständiges erstes Beispiel:
import matplotlib.pyplot as plt
# Daten
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# Graph erstellen
plt.plot(x, y)
# Graph anzeigen
plt.show()
Herzlichen Glückwunsch! Du hast deinen ersten Graph erstellt! 🎉
Verschiedene Arten von Graphen
1. Liniengraph (Line Plot)
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
plt.show()
2. Punktdiagramm (Scatter Plot)
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.scatter(x, y)
plt.show()
3. Balkendiagramm (Bar Chart)
import matplotlib.pyplot as plt
# Beispiel: Anzahl Äpfel pro Tag
tage = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag']
äpfel = [3, 7, 2, 5, 8]
plt.bar(tage, äpfel)
plt.show()
4. Kreisdiagramm (Pie Chart)
import matplotlib.pyplot as plt
# Beispiel: Lieblings-Früchte
früchte = ['Äpfel', 'Bananen', 'Orangen', 'Trauben']
anzahl = [23, 45, 12, 20]
plt.pie(anzahl, labels=früchte)
plt.show()
5. Histogramm
import matplotlib.pyplot as plt
import numpy as np
# Zufällige Daten generieren
daten = np.random.normal(0, 1, 1000) # 1000 zufällige Zahlen
plt.hist(daten, bins=30)
plt.show()
Graphen verschönern
Titel und Achsenbeschriftungen hinzufügen
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
# Titel hinzufügen
plt.title('Mein erster schöner Graph')
# Achsen beschriften
plt.xlabel('X-Werte (Zeit)')
plt.ylabel('Y-Werte (Temperatur)')
plt.show()
Farben und Stile ändern
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# Verschiedene Farben und Stile
plt.plot(x, y, color='red', linestyle='--', marker='o')
plt.title('Bunter Graph')
plt.xlabel('X-Werte')
plt.ylabel('Y-Werte')
plt.show()
Erklärung der Parameter:
- color='red'
- Macht die Linie rot
- linestyle='--'
- Macht die Linie gestrichelt
- marker='o'
- Fügt runde Punkte an den Datenpunkten hinzu
Mehrere Linien in einem Graph
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y1 = [1, 4, 9, 16, 25] # x²
y2 = [1, 2, 3, 4, 5] # x
plt.plot(x, y1, label='x²', color='blue')
plt.plot(x, y2, label='x', color='red')
plt.title('Vergleich von x und x²')
plt.xlabel('X-Werte')
plt.ylabel('Y-Werte')
plt.legend() # Zeigt die Legende an
plt.show()
Gitter hinzufügen
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
plt.grid(True) # Gitter einschalten
plt.title('Graph mit Gitter')
plt.show()
Häufige Fehler und Lösungen
Fehler 1: "ModuleNotFoundError: No module named 'matplotlib'"
Problem: Die Bibliothek ist nicht installiert.
Lösung:
pip install matplotlib
Fehler 2: "lists must be same length"
Problem: x und y haben unterschiedlich viele Werte.
Falsch:
x = [1, 2, 3]
y = [1, 2, 3, 4] # Ein Wert zu viel!
Richtig:
x = [1, 2, 3]
y = [1, 2, 3] # Gleiche Anzahl
Fehler 3: Graph wird nicht angezeigt
Problem: plt.show()
vergessen.
Lösung: Immer plt.show()
am Ende hinzufügen!
Fehler 4: Mehrere Graphen überlagern sich
Problem: plt.clf()
oder plt.figure()
vergessen.
Lösung:
# Ersten Graph
plt.plot(x1, y1)
plt.show()
# Graph "löschen" für den nächsten
plt.clf()
# Zweiten Graph
plt.plot(x2, y2)
plt.show()
Weitere Beispiele
Beispiel 1: Mathematische Funktionen plotten
import matplotlib.pyplot as plt
import numpy as np
# Viele x-Werte für eine glatte Kurve
x = np.linspace(0, 10, 100) # 100 Punkte zwischen 0 und 10
# Verschiedene mathematische Funktionen
y_sin = np.sin(x)
y_cos = np.cos(x)
y_exp = np.exp(x/5)
# Alle in einem Graph
plt.figure(figsize=(10, 6)) # Größeren Graph erstellen
plt.plot(x, y_sin, label='sin(x)', color='blue')
plt.plot(x, y_cos, label='cos(x)', color='red')
plt.plot(x, y_exp, label='e^(x/5)', color='green')
plt.title('Mathematische Funktionen')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid(True)
plt.show()
Beispiel 2: Temperaturdaten über eine Woche
import matplotlib.pyplot as plt
# Daten
tage = ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So']
temperaturen = [18, 22, 25, 23, 19, 21, 24]
plt.figure(figsize=(10, 6))
plt.plot(tage, temperaturen, marker='o', linestyle='-', color='orange', linewidth=2)
plt.title('Temperaturen der Woche', fontsize=16)
plt.xlabel('Wochentage', fontsize=12)
plt.ylabel('Temperatur (°C)', fontsize=12)
plt.grid(True, alpha=0.3) # Transparentes Gitter
# Y-Achse anpassen
plt.ylim(15, 30) # Y-Achse von 15 bis 30
plt.show()
Beispiel 3: Subplots (Mehrere Graphen nebeneinander)
import matplotlib.pyplot as plt
import numpy as np
# Daten
x = np.linspace(0, 10, 50)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
y4 = x**2
# 2x2 Subplots erstellen
plt.figure(figsize=(12, 10))
# Erster Graph (oben links)
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'b-')
plt.title('sin(x)')
plt.grid(True)
# Zweiter Graph (oben rechts)
plt.subplot(2, 2, 2)
plt.plot(x, y2, 'r-')
plt.title('cos(x)')
plt.grid(True)
# Dritter Graph (unten links)
plt.subplot(2, 2, 3)
plt.plot(x, y3, 'g-')
plt.title('tan(x)')
plt.ylim(-5, 5) # Y-Achse begrenzen
plt.grid(True)
# Vierter Graph (unten rechts)
plt.subplot(2, 2, 4)
plt.plot(x, y4, 'm-')
plt.title('x²')
plt.grid(True)
plt.tight_layout() # Graphen schön anordnen
plt.show()
Beispiel 4: Interaktive Anpassung der Graphen
import matplotlib.pyplot as plt
import numpy as np
# Daten
x = np.linspace(0, 10, 100)
y = np.sin(x)
# Graph mit vielen Anpassungen
plt.figure(figsize=(12, 8))
plt.plot(x, y, linewidth=3, color='purple', alpha=0.7)
# Viele Details hinzufügen
plt.title('Sinus-Funktion mit Anpassungen', fontsize=20, fontweight='bold')
plt.xlabel('X-Werte', fontsize=14)
plt.ylabel('Y-Werte', fontsize=14)
# Achsen-Limits setzen
plt.xlim(0, 10)
plt.ylim(-1.5, 1.5)
# Ticks anpassen
plt.xticks(np.arange(0, 11, 1))
plt.yticks(np.arange(-1.5, 2, 0.5))
# Gitter mit Anpassungen
plt.grid(True, linestyle=':', alpha=0.7)
# Hintergrundfarbe
plt.gca().set_facecolor('#f0f0f0')
plt.show()
Tipps für Anfänger
1. Experimentiere!
- Ändere Farben, Stile und Werte
- Probiere verschiedene Graphtypen aus
- Keine Angst vor Fehlern - das gehört dazu!
2. Verwende aussagekräftige Namen
# Schlecht
x = [1, 2, 3]
y = [4, 5, 6]
# Besser
monate = ['Jan', 'Feb', 'Mär']
verkaufszahlen = [100, 150, 120]
3. Kommentiere deinen Code
# Daten für das Diagramm vorbereiten
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# Liniengraph erstellen
plt.plot(x, y)
# Titel und Beschriftungen hinzufügen
plt.title('Mein Graph')
plt.xlabel('X-Achse')
plt.ylabel('Y-Achse')
# Graph anzeigen
plt.show()
4. Speichere deine Graphen
# Graph erstellen
plt.plot(x, y)
plt.title('Mein Graph')
# Als Bild speichern
plt.savefig('mein_graph.png', dpi=300, bbox_inches='tight')
# Trotzdem anzeigen
plt.show()
Zusammenfassung
Das Wichtigste in Kürze:
- Import:
import matplotlib.pyplot as plt
- Daten: Erstelle Listen für x und y
- Plot:
plt.plot(x, y)
für Liniengraph - Zeigen:
plt.show()
um den Graph anzuzeigen - Verschönern: Titel, Beschriftungen, Farben hinzufügen
Dein Grundgerüst:
import matplotlib.pyplot as plt
# Deine Daten hier
x = [...]
y = [...]
# Graph erstellen
plt.plot(x, y)
plt.title('Dein Titel')
plt.xlabel('X-Beschriftung')
plt.ylabel('Y-Beschriftung')
plt.show()
Viel Erfolg beim Plotten Celine! 🚀📊