কম্পিউটার টিউটোরিয়াল

Matplotlib-এ সমান এলিয়ার বিন Histogram প্লট করুন

Matplotlib-এ হিস্টোগ্রামের বিনগুলো এমনভাবে বানান যাতে প্রতিটি বিনের এলিয়া (ফ্রিকোয়েন্সি × বিন-ওয়IDTH) সমান হয়। কাস্টম equal_area ফাংশন ব্যবহার করে বিন এজ ক্যালকুলেট করুন।

অ্যালগরিদম

  1. ডেটা সোর্ট করুন এবং ডিফারেন্স (dx) বের করুন
  2. dx^0.5-এর ক্যুমুলেটিভ সাম (tmp) বের করুন
  3. tmp-কে ইন্টারপোলেট করে সমান এলিয়ার বিন এজ পান

উদাহরণ কোড

import numpy as np
from matplotlib import pyplot as plt

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

def equal_area(x, nbin):
    pow = 0.5
    dx = np.diff(np.sort(x))
    tmp = np.cumsum(dx ** pow)
    tmp = np.pad(tmp, (1, 0), 'constant')
    return np.interp(np.linspace(0, tmp.max(), nbin + 1), tmp, np.sort(x))

x = np.random.randn(1000)
n, bins, patches = plt.hist(x, equal_area(x, 20), edgecolor='black')
plt.show()

আউটপুট

২০টি বিনের হিস্টোগ্রাম দেখাবে যেখানে প্রতিটি বিনের এলিয়া (আয়তন) প্রায় সমান। সাধারণ হিস্টোগ্রামে বিন-ওয়IDTH সমান হয়, এখানে এলিয়া সমান।

  1. Matplotlib-এ আর্থবৃত্ত ডেটা ব্যবহার করে ৪D প্লট কীভাবে তৈরি করবেন?

  2. পাইথন ম্যাটপ্লটলিবে খালি বর্গাকার মার্কার তৈরি করা

  3. পাইথনে লগ হিস্টোগ্রাম তৈরি করা

  4. এক্সেল হিস্টোগ্রাম তৈরি করার সহজ ধাপে ধাপে টিউটোরিয়াল