Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menganotasi Plot Bar Pandas dengan Nilai Data dengan Cekap?

Bagaimana untuk Menganotasi Plot Bar Pandas dengan Nilai Data dengan Cekap?

Mary-Kate Olsen
Lepaskan: 2024-12-07 19:35:11
asal
994 orang telah melayarinya

How to Efficiently Annotate Pandas Bar Plots with Data Values?

Menganotasi Plot Bar Pandas dengan Nilai Data

Apabila bekerja dengan plot bar Pandas, selalunya wajar untuk memaparkan nilai berangka yang diwakilinya. Artikel ini menangani isu bar anotasi dengan nilai data bulat daripada DataFrame.

Masalah:

Pertimbangkan DataFrame (df):

                 A         B
  value1  0.440922  0.911800
  value2  0.588242  0.797366
Salin selepas log masuk

Matlamatnya adalah untuk menganotasi setiap bar dengan nilai bulat yang sepadan, seperti yang digambarkan dalam imej di bawah:

[Imej plot bar dengan nilai beranotasi]

Pendekatan Tidak Cekap:

Satu pendekatan biasa untuk anotasi ialah menggunakan fungsi anotasi . Walau bagaimanapun, seperti yang ditunjukkan oleh sampel kod di bawah, pendekatan ini meletakkan anotasi berpusat pada tanda-x:

ax = df.plot(kind='bar')
for idx, label in enumerate(list(df.index)):
    for acc in df.columns:
        value = np.round(df.ix[idx][acc], decimals=2)
        ax.annotate(value,
            (idx, value),
            xytext=(0, 15),
            textcoords='offset points')
Salin selepas log masuk

Penyelesaian Optimum:

Penyelesaian yang lebih cekap adalah dengan dapatkan data daripada tampalan paksi:

for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.005, p.get_height() * 1.005))
Salin selepas log masuk

Kod ini mengekstrak ketinggian bar dan meletakkan anotasi di atas sedikit bar untuk memusatkannya.

Penyesuaian:

Untuk menyesuaikan anotasi, seseorang boleh melaraskan pemformatan rentetan dan mengimbangi. Contohnya:

for p in ax.patches:
    ax.annotate("{:.2f}".format(p.get_height()), (p.get_x() + p.get_width() / 2, p.get_height() * 1.005))
Salin selepas log masuk

Ini memusatkan anotasi pada setiap bar dan memformat ketinggian kepada dua tempat perpuluhan.

Atas ialah kandungan terperinci Bagaimana untuk Menganotasi Plot Bar Pandas dengan Nilai Data dengan Cekap?. 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