Carta Bar Bertindan dengan Label Berpusat: Penyelesaian yang Diperbaiki Menggunakan bar_label
Dalam matplotlib, kaedah yang diperhalusi untuk memusatkan label data dengan tepat dalam susunan carta bar tersedia menggunakan fungsi bar_label. Begini caranya:
-
Import modul yang diperlukan: Mulakan dengan mengimport perpustakaan penting.
import pandas as pd
import matplotlib.pyplot as plt
Salin selepas log masuk
-
Buat dan isikan DataFrame anda: Untuk membuat carta bar bertindan, anda disyorkan untuk gunakan DataFrame panda. Berikut ialah contoh DataFrame dengan tiga lajur: 'A', 'B' dan 'C'.
# sample DataFrame
df = pd.DataFrame({'A': [45, 17, 47], 'B': [91, 70, 72], 'C': [68, 43, 13]})
Salin selepas log masuk
-
Plot carta bar bertindan: Gunakan DataFrame untuk merancang bar bertindan carta.
ax = df.plot(kind='bar', stacked=True, figsize=(8, 6), rot=0, xlabel='Class', ylabel='Count')
Salin selepas log masuk
-
Labelkan bar: Sekarang, mari kita labelkan bar sambil memastikan ia berpusat. Gunakan bar_label untuk mencapainya.
for c in ax.containers:
ax.bar_label(c, label_type='center')
Salin selepas log masuk
Penyesuaian Pilihan
-
Sifar atau label kecil: Untuk segmen dengan sifar atau nilai kecil, laraskan keterlihatan label mengikut keperluan. Contohnya, paparkan nilai hanya apabila nilai tersebut melebihi ambang tertentu atau gunakan pilihan label_type='edge'.
labels = [v.get_height() if v.get_height() > 0 else '' for v in c] # for segments with small or zero values
Salin selepas log masuk
-
Format tersuai: Ubah suai label format untuk memenuhi keperluan anda.
ax.bar_label(c, fmt=lambda x: f'{x:.0f}' if x > 0 else '', label_type='center') # to show no decimal places
Salin selepas log masuk
Seaborn Alternatif
Jika anda lebih suka bekerja dengan seaborn, anda juga boleh membuat carta bar bertindan dan labelkan bar.
-
Sediakan DataFrame: Serupa untuk matplotlib, buat DataFrame panda dengan data.
-
Tukar DataFrame kepada bentuk panjang: seaborn memerlukan DataFrame dalam bentuk yang panjang, yang boleh dicapai menggunakan leburan.
-
Plot carta dan labelkan bar: Plot carta bar bertindan dan gunakan bar_label seperti dalam matplotlib.
Atas ialah kandungan terperinci Bagaimana untuk Memusatkan Label Data dalam Carta Bar Bertindan Matplotlib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!