Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstelle und kommentiere ich ein gruppiertes Balkendiagramm mit Matplotlib in Python?

Wie erstelle und kommentiere ich ein gruppiertes Balkendiagramm mit Matplotlib in Python?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-28 19:46:29130Durchsuche

How to Create and Annotate a Grouped Bar Chart Using Matplotlib in Python?

So zeichnen und kommentieren Sie ein gruppiertes Balkendiagramm

Das Zeichnen eines gruppierten Balkendiagramms mit Pythons Matplotlib erfordert sorgfältige Überlegungen zur Datenmanipulation, zum Balkenabstand und zur Beschriftung. So lösen Sie Ihr spezifisches Problem:

Datenvorbereitung

  • Anstatt jede Spalte separat durch 2233 zu dividieren, verwenden Sie die div()-Methode für die gesamte df, um den gleichen Effekt zu erzielen eine einzelne Zeile: df = df.div(2233).

Pre-matplotlib 3.4.2

  • Passen Sie den w-Wert auf 0,8 / 3 um die Balken korrekt anzuordnen.
Post-matplotlib 3.4.2

    Verwenden Sie matplotlib.pyplot.bar_label und pandas.DataFrame.plot für einen einfacheren und eleganteren Ansatz .
Anmerkung

    Um die Balken zu beschriften, verwenden Sie die Funktion annotate() innerhalb einer Schleife, die über die Patches iteriert.
  • Passen Sie die Positionierung von an die Anmerkungen basieren auf der gewünschten Ausrichtung und Ästhetik.
Beispielcode

<code class="python">import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame(...).div(2233)

ax = df.plot(kind='bar', color=colors, figsize=(20, 8), ylabel='Percentage', title="...")

for p in ax.patches:
    ax.annotate(f'{p.get_height():0.2f}', (p.get_x() + p.get_width() / 2., p.get_height()), ha='center', va='center', xytext=(0, 10), textcoords='offset points')</code>
Dieser Code generiert ein gruppiertes Balkendiagramm mit annotierten Balkenhöhen.

Das obige ist der detaillierte Inhalt vonWie erstelle und kommentiere ich ein gruppiertes Balkendiagramm mit Matplotlib in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn