Sayımlar ve Oranlar

Feb 17 2023
Sayıları ve oranları tartışmanın kafa karıştırıcı olabileceğini fark ettim. Oranlar, belirli bir zaman aralığında bir şeyin meydana geldiğini gösterir.

Sayıları ve oranları tartışmanın kafa karıştırıcı olabileceğini fark ettim. Oranlar, belirli bir zaman aralığında bir şeyin meydana geldiğini gösterir.

import numpy as np
import matplotlib.pyplot as plt
binwidth = 50

a = np.linspace(0,360,1000)
b = np.sin(np.deg2rad(a))

fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(12,4))
ax1.plot(a,b, lw=2)
ax1.axhline(0, color='r')

borders = np.arange(0,410,binwidth)
binvals = []
colors = ['teal', 'pink', 'orange', 'dodgerblue', 'olive', 'papayawhip', 'tomato', 'seagreen']
for i, _b in enumerate(borders[:-1]):
    ax1.axvline(_b, color='k', ls='--')
    mask = (a>=_b)&(a<borders[i+1])
    ax1.fill_between(a[mask],b[mask], color=colors[i], alpha=0.7)
    total = np.trapz(b[mask], a[mask])
    ax1.text(5+_b, np.sign(total)*0.29, f"{total:.2f}")
    binvals.append(np.trapz(b[mask], a[mask]))
ax2.bar(borders[:-1]+25, height=binvals, width=np.diff(borders)[0], ec='k')

ax1.set_xlabel('time [sec]')
ax1.set_ylabel('Rates [cts/sec]')
ax2.set_xlabel('time [sec]')
ax2.set_ylabel('Counts [cts]');

      
                

Fikir şu ki, oranlarınızı (sayılar/zaman) zamana (zamana) göre entegre ederseniz, toplam sayıları elde edersiniz. Çubuk grafiğinde, sahip olduğunuz zaten belirli aralıklardaki sayımlardır, bu nedenle tüm çubukların toplamı bu entegrasyona eşit olmalıdır.