Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีทำให้ฮิสโตแกรมสองชุดมีความกว้างบิน (Bin Width) เท่ากันใน Matplotlib

เพื่อให้ฮิสโตแกรมสองชุดมีความกว้างบินเท่ากัน สามารถคำนวณขอบเขตบินร่วมกันจากข้อมูลทั้งสองชุดได้

ขั้นตอน

  • สร้างข้อมูลสุ่ม a และการกระจายปกติ b
  • กำหนดตัวแปร bins สำหรับความกว้างบินเดียวกัน
  • คำนวณขอบเขตบินร่วมด้วย np.histogram() จากข้อมูลรวม (np.hstack)
  • พลอตฮิสโตแกรม a และ b ด้วยบินเดียวกันผ่านเมธอด hist()
  • แสดงกราฟด้วยเมธอด show()

ตัวอย่างโค้ด

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

a = np.random.random(100) * 0.5
b = 1 - np.random.normal(size=100) * 0.1
bins = 10
bins = np.histogram(np.hstack((a, b)), bins=bins)[1]

plt.hist(a, bins, edgecolor='black')
plt.hist(b, bins, edgecolor='black')
plt.show()

ผลลัพธ์

วิธีทำให้ฮิสโตแกรมสองชุดมีความกว้างบิน (Bin Width) เท่ากันใน Matplotlib