Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menambah Label Nilai pada Carta Bar Matplotlib Menggunakan 'teks' dan 'anotasi'?

Bagaimana untuk Menambah Label Nilai pada Carta Bar Matplotlib Menggunakan 'teks' dan 'anotasi'?

Linda Hamilton
Lepaskan: 2024-12-30 12:28:17
asal
499 orang telah melayarinya

How to Add Value Labels to Matplotlib Bar Charts Using 'text' and 'annotate'?

Melabelkan Carta Bar dengan Nilai

Pengenalan

Carta bar ialah cara yang berguna untuk menggambarkan pengedaran data. Kadangkala, adalah penting untuk memasukkan label nilai pada bar untuk menyediakan konteks tambahan. Dalam artikel ini, kami akan meneroka dua kaedah untuk menambah label nilai pada carta bar menggunakan matplotlib: 'teks' dan 'anotasi'.

Menggunakan 'teks' untuk Label Nilai

Kaedah 'teks' membolehkan anda menambah teks pada plot pada koordinat yang ditentukan. Untuk menggunakannya untuk label nilai, ikuti langkah berikut:

  1. Plot carta bar anda.
  2. Dapatkan senarai patch bar daripada ahli ax.patches.
  3. Lelaran pada tampalan, dapatkan kedudukan dan ketinggian setiap bar.
  4. Gunakan ax.text untuk menambah teks label nilai di lokasi yang diingini (cth., tengah bar).

Menggunakan 'anotasi' untuk Label Nilai

Kaedah 'anotasi' adalah serupa dengan 'teks' tetapi memberikan lebih fleksibiliti untuk penempatan dan pemformatan. Untuk menggunakannya untuk label nilai, ikuti langkah berikut:

  1. Dapatkan senarai tampalan bar daripada ahli ax.patches.
  2. Lelaran pada tampalan, dapatkan kedudukan setiap bar dan ketinggian.
  3. Tentukan teks anotasi dan kedudukannya berbanding dengan bar.
  4. Gunakan ax.anotasi untuk menambah anotasi pada plot.

Contoh Kod

Berikut ialah contoh menggunakan kaedah 'teks':

import matplotlib.pyplot as plt

# Data
x_labels = [1, 2, 3, 4, 5]
values = [10, 20, 30, 40, 50]

# Plot
plt.figure(figsize=(12, 8))
ax = plt.bar(x_labels, values)

# Add value labels
rects = ax.patches
for rect, value in zip(rects, values):
    x = rect.get_x() + rect.get_width() / 2
    y = rect.get_height() + 5
    ax.text(x, y, f"{value}", ha="center", va="bottom")

plt.show()
Salin selepas log masuk

Dan berikut ialah contoh menggunakan kaedah 'anotasi':

import matplotlib.pyplot as plt

# Data
x_labels = [1, 2, 3, 4, 5]
values = [10, 20, 30, 40, 50]

# Plot
plt.bar(x_labels, values)

# Add value labels
for x, y in zip(x_labels, values):
    ax.annotate(f"{y}", xy=(x, y), xytext=(0, 10), textcoords="offset points", ha="center", va="bottom")

plt.show()
Salin selepas log masuk

Kedua-duanya kaedah menyediakan cara mudah untuk menambah label nilai pada carta bar anda, meningkatkan kejelasan visualnya dan menyampaikan maklumat penting kepada khalayak anda.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Label Nilai pada Carta Bar Matplotlib Menggunakan 'teks' dan 'anotasi'?. 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