Heim  >  Artikel  >  Backend-Entwicklung  >  Wie richtet man mit Matplotlib Balken richtig aus und fügt Anmerkungen in einem gruppierten Balkendiagramm hinzu?

Wie richtet man mit Matplotlib Balken richtig aus und fügt Anmerkungen in einem gruppierten Balkendiagramm hinzu?

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 14:57:03651Durchsuche

How to Correctly Align Bars and Add Annotations in a Grouped Bar Chart with Matplotlib?

Plotten und Kommentieren eines gruppierten Balkendiagramms

Diese Anleitung befasst sich mit einem häufig auftretenden Problem in matplotlib beim Erstellen eines gruppierten Balkendiagramms. Der bereitgestellte Code zielt darauf ab, das Interesse der Befragten an verschiedenen Bereichen der Datenwissenschaft mit Balken zu visualisieren, die ihr Interesse darstellen (sehr interessiert, einigermaßen interessiert, nicht interessiert).

Problemanalyse

Das Problem im bereitgestellten Code liegt in der Berechnung der Balkenbreiten. Der Code legt w=0,8 fest, ohne die Anzahl der Balken im Diagramm zu berücksichtigen. Um die Balken korrekt auszurichten, sollte w durch die Anzahl der Balken geteilt werden.

Lösung

Um dieses Problem zu beheben, passen Sie die Berechnung der Balkenbreite an, um die Anzahl der Balken zu berücksichtigen Balken in der Handlung. Ein effizienterer Ansatz besteht darin, die Methode pandas.DataFrame.plot zu verwenden, um den Plot mit Anmerkungen zu generieren.

Aktualisierter Code mit DataFrame.plot

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

# Create the DataFrame
file = "https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/coursera/Topic_Survey_Assignment.csv"
df = pd.read_csv(file, index_col=0)

# Calculate percentages
df = df.div(2233)

# Plot the grouped bar chart
ax = df.plot.bar(color=['#5cb85c', '#5bc0de', '#d9534f'], figsize=(20, 8), rot=0, ylabel='Percentage', title="The percentage of the respondents' interest in the different data science Area")

# Add annotations
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>

Ausgabe:

[Bild des korrigierten Balkendiagramms]

Dieser aktualisierte Code generiert ein richtig ausgerichtetes gruppiertes Balkendiagramm mit Anmerkungen, die die Prozentsätze für jeden Balken angeben.

Das obige ist der detaillierte Inhalt vonWie richtet man mit Matplotlib Balken richtig aus und fügt Anmerkungen in einem gruppierten Balkendiagramm hinzu?. 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