CodeGym /Kurse /Python SELF DE /Label, Legenden und Achsen anpassen, um die Lesbarkeit vo...

Label, Legenden und Achsen anpassen, um die Lesbarkeit von Diagrammen zu verbessern

Python SELF DE
Level 42 , Lektion 0
Verfügbar

1. Warum Annotationen in Diagrammen wichtig sind

Warum sollte man Labels, Legenden und Annotationen hinzufügen?

Heute sprechen wir über einen genauso wichtigen Teil der Datenvisualisierung wie die Diagramme selbst – das Annotieren. Es ist wie ein Tuner für den Fernseher: Alles könnte da sein, aber ohne ihn ist es schwer zu schauen, weil das Bild nicht immer klar ist. Labels, Legenden und Annotationen sind manchmal notwendig, damit die Daten lebendig werden und mit uns in einer verständlichen Sprache sprechen.

Du fragst dich vielleicht: Sind Labels und Legenden wirklich so wichtig? Die Antwort ist einfach: Sie sind wie Salz und Pfeffer für das Diagramm. Ohne sie kann dein Diagramm schwer lesbar werden und der Sinn der Daten geht möglicherweise verloren. Mit Annotationen verleihen wir dem Diagramm zusätzlichen Kontext und machen es intuitiver verständlich.

Labels und Legenden helfen deinem Publikum, schnell zu verstehen, was es sieht. Stell dir vor, du schaust dir eine Schatzkarte ohne Beschriftung an und wirst gebeten, den Weg zum Schatz zu finden. Klingt verrückt, oder? Das Gleiche passiert mit Diagrammen ohne Labels. Wir sollten dem Publikum helfen, anstatt es zu erschweren.

Jetzt wollen wir uns genauer ansehen, wie man mit Python und Matplotlib die Magie der Annotationen in deine Diagramme einbaut. Bereit? Dann los!

2. Achsenbeschriftungen

Achsenbeschriftungen mit xlabel, ylabel und title anpassen

Der erste Schritt ist die Benennung der Achsen. Der Prozess ist so einfach wie 1+1. Wir verwenden die Funktionen xlabel() und ylabel(), um Labels für die Achsen X und Y hinzuzufügen, und die Funktion title() für den Diagrammtitel. Diese Funktionen machen das Diagramm strukturierter und verständlicher. Hier ist ein einfaches Beispiel:

Python

import matplotlib.pyplot as plt

# Daten
x = [0, 1, 2, 3, 4, 5]
y = [0, 1, 4, 9, 16, 25]

# Diagramm erstellen
plt.plot(x, y, color='blue')

# Labels hinzufügen
plt.xlabel('Zeit (Stunden)', color='red')
plt.ylabel('Entfernung (km)', color='green')
plt.title('Zunahme der Entfernung im Laufe der Zeit', color='gold')

# Diagramm anzeigen
plt.show()

Du kannst den Text und das Diagramm auch in deinen Lieblingsfarben gestalten:

Schriftart und Größe der Labels anpassen

Um das Diagramm ansprechender zu gestalten, kannst du die Schriftgröße, Farbe und den Stil der Labels anpassen. In Matplotlib geht das mit Parametern wie fontsize, fontweight, color und anderen.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)

# Titel und Labels mit Parametern anpassen
plt.title("Beispieldiagramm", fontsize=16, fontweight="bold", color="navy")
plt.xlabel("X-Werte", fontsize=12, color="darkred")
plt.ylabel("Y-Werte", fontsize=12, color="darkred")

plt.show()

In diesem Beispiel:

  • fontsize legt die Schriftgröße fest.
  • fontweight="bold" macht den Text fett.
  • color ändert die Textfarbe.

3. "Legende" anzeigen

Legenden mit der Funktion legend() hinzufügen und anpassen

Eine Legende ist nicht nur ein Mythos oder eine Geschichte, sondern auch ein wichtiges Werkzeug in deinem Diagramm. Sie erklärt, was die Linien oder Balken im Diagramm bedeuten und hilft, mehrere Datenreihen zu unterscheiden. Matplotlib macht das super einfach. So kannst du deinem Diagramm eine Legende hinzufügen:

Python

# Daten
x = [0, 1, 2, 3, 4, 5]
y1 = [0, 1, 4, 9, 16, 25]
y2 = [0, 1, 2, 3, 4, 5]

# Diagramm erstellen
plt.plot(x, y1, label='Quadrat der Zahl')
plt.plot(x, y2, label='Direkte Zahl')

# Labels hinzufügen
plt.xlabel('Zeit (Stunden)')
plt.ylabel('Entfernung (km)')
plt.title('Funktionsvergleich')

# Legende hinzufügen
plt.legend(loc='upper left')

# Diagramm anzeigen
plt.show()

Der Aufruf von legend() fügt eine Legende an die angegebene Stelle hinzu. Das Argument loc kann durch 'best' ersetzt werden, damit Python automatisch einen guten Platz auswählt.

Position der Legende

Du kannst die Position der Legende mit dem Parameter loc ändern. Zum Beispiel:

  • loc="upper right" — oben rechts (Standard).
  • loc="upper left" — oben links.
  • loc="lower right" — unten rechts.
  • loc="center" — Zentrum.
Python

plt.legend(loc="upper left")

Größe und Farbe der Legende anpassen

Du kannst die Schriftgröße und Farben der Legende mit den Parametern fontsize, facecolor und edgecolor anpassen.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [10, 15, 20, 25, 30]
y2 = [5, 10, 15, 20, 25]

plt.plot(x, y1, label="Linie 1", color="blue")
plt.plot(x, y2, label="Linie 2", color="green")

plt.title("Diagramm mit angepasster Legende")
plt.xlabel("X-Werte")
plt.ylabel("Y-Werte")

# Legende anpassen
plt.legend(loc="upper left", fontsize=10, facecolor="lightgray", edgecolor="black")

plt.show()

4. Achsen formatieren

Mit Matplotlib kannst du die Skalierung, Labels und Wertebereiche der Achsen anpassen, was die Lesbarkeit des Diagramms verbessern kann.

Wertebereich der Achsen ändern

Die Funktionen xlim() und ylim() erlauben es dir, minimale und maximale Werte für die Achsen festzulegen.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("X-Werte")
plt.ylabel("Y-Werte")
plt.xlim(0, 6)  # Wertebereich der X-Achse von 0 bis 6
plt.ylim(5, 35)  # Wertebereich der Y-Achse von 5 bis 35

plt.show()

Intervalle der Achsenlabels ändern

Mit den Funktionen xticks() und yticks() kannst du benutzerdefinierte Labels für die Achsen festlegen.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("X-Werte")
plt.ylabel("Y-Werte")

# Labels für X-Achse anpassen
plt.xticks([1, 2, 3, 4, 5], ["Eins", "Zwei", "Drei", "Vier", "Fünf"])
plt.show()

Hinzufügen eines Gitters zum Diagramm

Ein Gitter hilft dabei, die Werte im Diagramm besser zu interpretieren, vor allem, wenn die Daten viele Punkte oder Werte umfassen.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("X-Werte")
plt.ylabel("Y-Werte")
plt.grid(True)  # Gitter hinzufügen

plt.show()

Mit plt.grid(True) wird ein Standardgitter hinzugefügt. Du kannst den Stil auch mit Parametern wie color, linestyle und linewidth anpassen.

Python

plt.grid(color="gray", linestyle="--", linewidth=0.5)

5. Hinzufügen von Annotationen in Diagramme

Annotationen heben wichtige Punkte oder Erklärungen im Diagramm hervor. Die Methode annotate() hilft dabei, Text an einer bestimmten Stelle des Diagramms hinzuzufügen.

Hinzufügen einer Annotation

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("X-Werte")
plt.ylabel("Y-Werte")

# Annotation hinzufügen
plt.annotate("Maximum", xy=(5, 30), xytext=(3, 30),
             arrowprops=dict(facecolor="black", shrink=0.05))

plt.show()

In diesem Beispiel:

  • xy=(5, 30) gibt die Koordinaten des annotierten Punktes an.
  • xytext=(3, 30) gibt die Position des Textes an.
  • arrowprops fügt einen Pfeil hinzu, der auf den Punkt zeigt.

6. Beispiele zur Verbesserung von Diagrammen

Gehen wir zur Praxis über! Schauen wir, wie das Hinzufügen von Annotationen ein Diagramm verbessern kann.

Angenommen, wir haben ein Diagramm, das das Umsatzwachstum von zwei verschiedenen Produkten über die Monate zeigt. Wir möchten es verständlicher machen und die notwendigen Annotationen hinzufügen.

Python

import matplotlib.pyplot as plt

# Monate und Verkäufe
months = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni']
sales_product1 = [100, 120, 130, 150, 170, 190]
sales_product2 = [90, 110, 115, 140, 165, 180]

# Diagramm zeichnen
plt.plot(months, sales_product1, marker='o', label='Produkt 1')
plt.plot(months, sales_product2, marker='s', label='Produkt 2')

# Annotation
plt.xlabel('Monate')
plt.ylabel('Verkäufe (Stk.)')
plt.title('Umsatzwachstum nach Produkten')
plt.legend(loc='upper left')

# Annotationen anpassen
for i, txt in enumerate(sales_product1):
    plt.annotate(txt, (months[i], sales_product1[i]), textcoords="offset points", xytext=(0,10), ha='center')

for i, txt in enumerate(sales_product2):
    plt.annotate(txt, (months[i], sales_product2[i]), textcoords="offset points", xytext=(0,10), ha='center')

# Diagramm anzeigen
plt.show()

Ah ja, wir haben kleine helle Zahlen über jedem Datenpunkt hinzugefügt! Solche Annotationen können ein Lebensretter sein, wenn es um die Analyse großer Datenmengen geht, wo jede Information zählt.

Nun, es scheint, als hätten wir das Annotieren von Diagrammen mit Matplotlib gemeistert. Diese Fähigkeiten werden dir bei der Erstellung von Berichten und in deiner Datenpräsentation sicherlich nützlich sein, besonders dann, wenn jedes Wort mehr Gewicht hat als Tausende von Zahlen. Also los, zeichne, beschrifte und revolutioniere die Welt der Daten!

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION