Bin adalah rentang yang mewakili lebar satu batang histogram di sepanjang sumbu X. Anda juga bisa menyebutnya sebagai interval. (Wikipedia mendefinisikannya secara lebih formal sebagai "kategori terpisah".)
Fungsi Numpy histogram
tidak menggambar histogram, tetapi menghitung kemunculan data input yang termasuk dalam setiap nampan, yang pada gilirannya menentukan luas (tidak harus tingginya jika nampan tidak memiliki lebar yang sama) dari setiap batang.
Dalam contoh ini:
np.histogram([1, 2, 1], bins=[0, 1, 2, 3])
Ada 3 bin, untuk nilai mulai dari 0 hingga 1 (tidak termasuk 1.), 1 hingga 2 (tidak termasuk 2) dan 2 hingga 3 (termasuk 3), masing-masing. Cara Numpy mendefinisikan bins ini jika dengan memberikan daftar pembatas ( [0, 1, 2, 3]
) dalam contoh ini, meskipun Numpy juga mengembalikan bins dalam hasil, karena ia dapat memilihnya secara otomatis dari input, jika tidak ada yang ditentukan. Jika bins=5
, misalnya, akan menggunakan 5 bin dengan lebar yang sama tersebar antara nilai input minimum dan nilai input maksimum.
Nilai inputnya adalah 1, 2 dan 1. Oleh karena itu, bin "1 hingga 2" berisi dua kemunculan (dua 1
nilai), dan bin "2 hingga 3" berisi satu kemunculan (the 2
). Hasil ini pada item pertama dalam tuple kembali: array([0, 2, 1])
.
Karena kotak di sini memiliki lebar yang sama, Anda dapat menggunakan jumlah kemunculan untuk tinggi setiap batang. Saat digambar, Anda akan memiliki:
- batang dengan tinggi 0 untuk range / bin [0,1] pada sumbu X,
- batang dengan tinggi 2 untuk rentang / bin [1,2],
- batang dengan tinggi 1 untuk jangkauan / bin [2,3].
Anda dapat memplot ini secara langsung dengan Matplotlib ( hist
fungsinya juga mengembalikan bin dan nilainya):
>>> import matplotlib.pyplot as plt
>>> plt.hist([1, 2, 1], bins=[0, 1, 2, 3])
(array([0, 2, 1]), array([0, 1, 2, 3]), <a list of 3 Patch objects>)
>>> plt.show()
bins
nilai yang dibuat secara manual terakhir ke nilai maksimum dalam larik.Di bawah ini,
hist
menunjukkan bahwa ada 0 item di bin # 0, 2 di bin # 1, 4 di bin # 3, 1 di bin # 4.bin_edges
menunjukkan bahwa bin # 0 adalah interval [0,1), bin # 1 adalah [1,2), ..., bin # 3 adalah [3,4).Mainkan dengan kode di atas, ubah input ke
np.histogram
dan lihat cara kerjanya.Tapi sebuah gambar bisa bermakna ribuan kata:
sumber
plt.bar(bin_edges[:-1], hist, width=1)
danplt.xlim(min(bin_edges), max(bin_edges))
, untuk membuat batang sesuai dengan lebar yang diharapkan (jika tidak, mungkin hanya ada bin yang lebih kecil tanpa nilai di antaranya).Hal lain yang berguna untuk dilakukan dengan
numpy.histogram
memplot keluaran sebagai koordinat x dan y pada grafik garis. Sebagai contoh:Ini dapat menjadi cara yang berguna untuk memvisualisasikan histogram di mana Anda menginginkan tingkat perincian yang lebih tinggi tanpa bilah di mana-mana. Sangat berguna dalam histogram gambar untuk mengidentifikasi nilai piksel yang ekstrim.
sumber