🎨 Stile, Farben & Design#
🎨 Farben & benutzerdefinierte Paletten#
🔹 Direkt per Name:#
plt.plot(x, y, color="red")
🔹 HEX-Code (Webfarbe):#
plt.plot(x, y, color="#1f77b4") # ein schönes Blau
🔹 Benutzerdefinierte Liste:#
farben = ["#1f77b4", "#ff7f0e", "#2ca02c"]
for i in range(3):
plt.plot(x, y[i], color=farben[i])
🔄 Linienstile, Marker & Transparenz#
Element |
Code |
Beschreibung |
---|---|---|
Linienstil |
|
gestrichelt |
Marker |
|
Kreise |
Transparenz |
|
50 % durchsichtig |
plt.plot(x, y, linestyle="--", marker="s", alpha=0.7)
🧾 Design-Themes: plt.style.use()
#
Matplotlib hat eingebaute Design-Vorlagen:
plt.style.available
Beispiele:
“ggplot” (klassisch, freundlich)
“seaborn” (harmonisch, lesbar)
“fivethirtyeight” (medienfreundlich)
“dark_background” (für Präsentationen)
plt.style.use("seaborn-v0_8-darkgrid")
plt.style.use("dark_background")
plt.style.use("fivethirtyeight")
plt.style.use("seaborn-v0_8-pastel")
plt.style.use("ggplot")
⚠️ Muss vor dem Plot gesetzt werden.
✅ Zusammenfassung#
Element |
Beispiel |
---|---|
Farbe |
|
Linienstil |
|
Marker |
|
Transparenz |
|
Stil verwenden |
|
Plot speichern |
|
✍️ Übung: Mehrfarbiges Linien-Diagramm mit Stil#
Aufgabe:
Verwende
plt.style.use()
mit einem Stil deiner WahlErstelle 3 verschiedene Reihen von Daten (z. B. Sinuskurven)
Verwende unterschiedliche Farben, Marker und Linienstile
Füge eine Legende und Achsentitel hinzu
Speichere den Plot als stildiagramm.png
✅ Beispiel-Lösung:#
💡 Lösung anzeigen
import numpy as np
import matplotlib.pyplot as plt
plt.style.use("seaborn-v0_8-darkgrid")
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.sin(2 * x)
plt.plot(x, y1, label="sin(x)", color="blue", linestyle="-", marker="o", alpha=0.7)
plt.plot(x, y2, label="cos(x)", color="green", linestyle="--", marker="s", alpha=0.7)
plt.plot(x, y3, label="sin(2x)", color="red", linestyle=":", marker="^", alpha=0.7)
plt.title("Mehrfarbiges Linien-Diagramm")
plt.xlabel("x-Werte")
plt.ylabel("y-Werte")
plt.legend()
plt.tight_layout()
plt.savefig("stildiagramm.png", dpi=300)
plt.show()