Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Legende Hinzufügen | Diagrammanpassung
Quizzes & Challenges
Quizzes
Challenges
/
Ultimative Visualisierung mit Python

bookLegende Hinzufügen

Wenn ein Diagramm mehrere Elemente enthält, trägt das Hinzufügen einer Legende dazu bei, zu verdeutlichen, was jedes Element repräsentiert. matplotlib bietet verschiedene Möglichkeiten, eine Legende zu erstellen.

Erste Möglichkeit

Alle Beschriftungen können direkt in plt.legend() definiert werden:

123456789101112131415161718
import numpy as np import matplotlib.pyplot as plt questions = ['question_1', 'question_2', 'question_3'] yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = np.array([yes_answers, no_answers]) positions = np.arange(len(questions)) width = 0.3 for i in range(len(answers)): plt.bar(positions + width * i, answers[i], width) plt.xticks(positions + width*(len(answers)-1)/2, questions) plt.legend(['positive answers', 'negative answers']) plt.show()
copy

Dies erzeugt eine Legende in der oberen linken Ecke, indem eine Liste von Beschriftungen an plt.legend() übergeben wird.

Zweite Option

Beschriftungen können auch direkt in den Plot-Funktionen mit dem Parameter label= zugewiesen werden:

1234567891011121314151617181920
import matplotlib.pyplot as plt import numpy as np questions = ['question_1', 'question_2', 'question_3'] positions = np.arange(len(questions)) yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = [yes_answers, no_answers] labels = ['positive answers', 'negative answers'] width = 0.3 for i in range(len(answers)): plt.bar(positions + width*i, answers[i], width, label=labels[i]) plt.xticks(positions + width*(len(answers)-1)/2, questions) plt.legend() plt.show()
copy

Hier sammelt plt.legend() automatisch die Beschriftungen der dargestellten Elemente.

Dritte Option

Beschriftungen können auch mit der Methode set_label() des zurückgegebenen Künstlers gesetzt werden:

12345678910111213141516171819202122
import matplotlib.pyplot as plt import numpy as np questions = ['question_1', 'question_2', 'question_3'] positions = np.arange(len(questions)) yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = [yes_answers, no_answers] width = 0.3 labels = ['positive answers', 'negative answers'] for i in range(len(answers)): bar = plt.bar(positions + width*i, answers[i], width) bar.set_label(labels[i]) center_positions = positions + width*(len(answers)-1)/2 plt.xticks(center_positions, questions) plt.legend(loc='upper center') plt.show()
copy

Legendenposition

Das Argument loc steuert, wo die Legende angezeigt wird. Der Standardwert 'best' überlässt matplotlib die automatische Auswahl einer optimalen Position.

12345678910111213141516171819202122
import matplotlib.pyplot as plt import numpy as np questions = ['question_1', 'question_2', 'question_3'] positions = np.arange(len(questions)) yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = [yes_answers, no_answers] labels = ['positive answers', 'negative answers'] width = 0.3 for i, label in enumerate(labels): bars = plt.bar(positions + width*i, answers[i], width) bars.set_label(label) center_positions = positions + width*(len(answers)-1)/2 plt.xticks(center_positions, questions) plt.legend(loc='upper center') plt.show()
copy

Gültige Werte für loc sind: 'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'center'.

Note
Mehr erfahren

Weitere Informationen finden Sie in der legend() Dokumentation

Aufgabe

Swipe to start coding

  1. Die untersten Balken als 'primary sector' mit dem entsprechenden Schlüsselwortargument kennzeichnen.
  2. Die mittleren Balken als 'secondary sector' mit dem entsprechenden Schlüsselwortargument kennzeichnen.
  3. Die obersten Balken als 'tertiary sector' mit dem entsprechenden Schlüsselwortargument kennzeichnen.
  4. Die Legende rechts, vertikal zentriert, platzieren.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 2
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

Can you explain the difference between these three legend options?

How do I customize the legend appearance further?

What happens if I don't specify the `loc` parameter in `plt.legend()`?

close

Awesome!

Completion rate improved to 3.85

bookLegende Hinzufügen

Swipe um das Menü anzuzeigen

Wenn ein Diagramm mehrere Elemente enthält, trägt das Hinzufügen einer Legende dazu bei, zu verdeutlichen, was jedes Element repräsentiert. matplotlib bietet verschiedene Möglichkeiten, eine Legende zu erstellen.

Erste Möglichkeit

Alle Beschriftungen können direkt in plt.legend() definiert werden:

123456789101112131415161718
import numpy as np import matplotlib.pyplot as plt questions = ['question_1', 'question_2', 'question_3'] yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = np.array([yes_answers, no_answers]) positions = np.arange(len(questions)) width = 0.3 for i in range(len(answers)): plt.bar(positions + width * i, answers[i], width) plt.xticks(positions + width*(len(answers)-1)/2, questions) plt.legend(['positive answers', 'negative answers']) plt.show()
copy

Dies erzeugt eine Legende in der oberen linken Ecke, indem eine Liste von Beschriftungen an plt.legend() übergeben wird.

Zweite Option

Beschriftungen können auch direkt in den Plot-Funktionen mit dem Parameter label= zugewiesen werden:

1234567891011121314151617181920
import matplotlib.pyplot as plt import numpy as np questions = ['question_1', 'question_2', 'question_3'] positions = np.arange(len(questions)) yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = [yes_answers, no_answers] labels = ['positive answers', 'negative answers'] width = 0.3 for i in range(len(answers)): plt.bar(positions + width*i, answers[i], width, label=labels[i]) plt.xticks(positions + width*(len(answers)-1)/2, questions) plt.legend() plt.show()
copy

Hier sammelt plt.legend() automatisch die Beschriftungen der dargestellten Elemente.

Dritte Option

Beschriftungen können auch mit der Methode set_label() des zurückgegebenen Künstlers gesetzt werden:

12345678910111213141516171819202122
import matplotlib.pyplot as plt import numpy as np questions = ['question_1', 'question_2', 'question_3'] positions = np.arange(len(questions)) yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = [yes_answers, no_answers] width = 0.3 labels = ['positive answers', 'negative answers'] for i in range(len(answers)): bar = plt.bar(positions + width*i, answers[i], width) bar.set_label(labels[i]) center_positions = positions + width*(len(answers)-1)/2 plt.xticks(center_positions, questions) plt.legend(loc='upper center') plt.show()
copy

Legendenposition

Das Argument loc steuert, wo die Legende angezeigt wird. Der Standardwert 'best' überlässt matplotlib die automatische Auswahl einer optimalen Position.

12345678910111213141516171819202122
import matplotlib.pyplot as plt import numpy as np questions = ['question_1', 'question_2', 'question_3'] positions = np.arange(len(questions)) yes_answers = np.array([500, 240, 726]) no_answers = np.array([432, 618, 101]) answers = [yes_answers, no_answers] labels = ['positive answers', 'negative answers'] width = 0.3 for i, label in enumerate(labels): bars = plt.bar(positions + width*i, answers[i], width) bars.set_label(label) center_positions = positions + width*(len(answers)-1)/2 plt.xticks(center_positions, questions) plt.legend(loc='upper center') plt.show()
copy

Gültige Werte für loc sind: 'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'center'.

Note
Mehr erfahren

Weitere Informationen finden Sie in der legend() Dokumentation

Aufgabe

Swipe to start coding

  1. Die untersten Balken als 'primary sector' mit dem entsprechenden Schlüsselwortargument kennzeichnen.
  2. Die mittleren Balken als 'secondary sector' mit dem entsprechenden Schlüsselwortargument kennzeichnen.
  3. Die obersten Balken als 'tertiary sector' mit dem entsprechenden Schlüsselwortargument kennzeichnen.
  4. Die Legende rechts, vertikal zentriert, platzieren.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 2
single

single

some-alt