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

Barbara Streisand
Lepaskan: 2024-10-26 14:57:03
asal
659 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!