Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menjajarkan Bar dengan betul dan Menambah Anotasi dalam Carta Bar Berkumpulan dengan Matplotlib?

Bagaimana untuk Menjajarkan Bar dengan betul dan Menambah Anotasi dalam Carta Bar Berkumpulan dengan Matplotlib?

Barbara Streisand
Barbara Streisandasal
2024-10-26 14:57:03651semak imbas

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

Memplot dan Menganotasi Carta Bar Berkumpulan

Panduan ini menangani isu yang biasa dihadapi dalam matplotlib apabila mencipta carta bar berkumpulan. Kod yang disediakan bertujuan untuk menggambarkan minat responden dalam pelbagai bidang sains data dengan bar yang mewakili tahap minat mereka (Sangat berminat, Agak berminat, Tidak berminat).

Analisis Masalah

Isu dalam kod yang disediakan terletak pada pengiraan lebar bar. Kod menetapkan w=0.8 tanpa mengambil kira bilangan bar dalam plot. Untuk menjajarkan bar dengan betul, w hendaklah dibahagikan dengan bilangan bar.

Penyelesaian

Untuk menyelesaikan isu ini, laraskan pengiraan lebar bar untuk mempertimbangkan bilangan bar dalam plot. Pendekatan yang lebih cekap ialah menggunakan kaedah panda.DataFrame.plot untuk menjana plot dengan anotasi.

Kod Kemas Kini Menggunakan 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>

Output:

[Imej carta bar yang diperbetulkan]

Kod yang dikemas kini ini menjana carta bar berkumpulan yang dijajarkan dengan betul dengan anotasi yang menunjukkan peratusan bagi setiap bar.

Atas ialah kandungan terperinci Bagaimana untuk Menjajarkan Bar dengan betul dan Menambah Anotasi dalam Carta Bar Berkumpulan dengan Matplotlib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn