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

Bagaimana untuk Menganotasi Plot Bar Pandas dengan Nilai Berangka Bulat?

Susan Sarandon
Susan Sarandonasal
2024-12-26 01:33:09397semak imbas

How to Annotate Pandas Bar Plots with Rounded Numerical Values?

Menganotasi Plot Bar Panda dengan Nilai Berangka Bulat

Dalam plot bar Pandas, menganotasi bar dengan nilai berangka yang sepadan boleh meningkatkan visualisasi data dan memberikan cerapan tentang data plot . Untuk menangani perkara ini, mari kita pertimbangkan DataFrame dengan nilai rawak:

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': np.random.rand(2), 'B': np.random.rand(2)}, index=['value1', 'value2'])

Cabaran: Bagaimanakah kita boleh menganotasi bar dengan nilai berangka bulat, serupa dengan imej contoh?

Penyelesaian:

Akses terus tampalan paksi untuk mendapatkan semula ketinggian bar:

import matplotlib.pyplot as plt

ax = df.plot(kind='bar')
for p in ax.patches:
    height = p.get_height()
    label = round(height, 2)
    ax.annotate(label, (p.get_x() * 1.005, p.get_height() * 1.005))

Kaedah ini mendapatkan ketinggian bar daripada objek tampalan dan menganotasi bar dengan nilai bulat. Laraskan pemformatan rentetan dan mengimbangi untuk memusatkan anotasi seperti yang dikehendaki.

Contoh Kod:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.DataFrame({'A': np.random.rand(2), 'B': np.random.rand(2)}, index=['value1', 'value2'])
ax = df.plot(kind='bar')
for p in ax.patches:
    height = p.get_height()
    label = round(height, 2)
    ax.annotate(label, (p.get_x() * 1.005, p.get_height() * 1.005))

plt.show()

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