Одинаковая высота гистограммы и другой гауссовой кривой, не связанной с данными гистограммы - PullRequest
0 голосов
/ 29 марта 2019

У меня есть одна информация примерно такая, но с 1000 баллами: дроби = [85,86,78,89,73,80,85,79, ...... 83] (мы могли бы предположить 1000 случайных точек между (70,90)

(редактировать: я хочу, чтобы максимальная высота гауссиана была такой же, как максимальная высота гистограммы.)

И я хочу сравнить это с гауссовой кривой, заданной

def quasars_gaussian_curve(mu= 45,sigma=0.35):

    x = np.linspace(mu - 3*sigma, mu + 3*sigma, 100)
    plt.plot(x, stats.norm.pdf(x, mu, sigma)

Итак, когда я делаю это: quasars_gaussian_curve (mu, sigma))

plt.hist(fraction,density = 1) 
plt.show()

Я получаю это:

! [Гистограмма против гауссиана: мне нужно, чтобы гауссиан имел такую ​​же высоту, как моя гистограмма] https://imgur.com/hqrnfCH

1 Ответ

0 голосов
/ 29 марта 2019

Хорошо.Так что есть этот пакет астропии для Python.Не знал, что у него был этот класс Gaussian1D в астронастройке и моделировании.Если кто-то сталкивается с такими же проблемами, даже если это не астрономия и хочет подогнать гауссову кривую к заданным значениям амплитуды, среднего и стандартного отклонения, вероятно, это идеальное решение.И наверное самый короткий

Вот как я это сделал.

from astropy.modeling.models import Gaussian1D

def fit_gaussian_curve():
     g1 = Gaussian1D(0.11,44,0.35 )
     x = np.linspace(44 - 3*0.35, 44 + 3*0.35, 100)
     plt.plot(x,g1(x))

(Максимальная высота гистограммы была около 0,11, означает 44 и сигма 0,35) И вот мой график сейчас.Сравните это с предыдущим, миссия завершена.

! https://imgur.com/MYraeeD Подробнее здесь: http://docs.astropy.org/en/stable/modeling/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...