Рисование нескольких одномерных нормальных распределений - PullRequest
0 голосов
/ 05 ноября 2018

Кто-нибудь знает, как нарисовать несколько гауссовых распределений на одном графике, используя Python? У меня есть некоторые нормальные распределенные данные с различными средствами и стандартными отклонениями, которые мне нужно построить. Большое спасибо Я мог нарисовать только один. Пожалуйста, будьте просты со мной, я буквально только начал использовать Python

1 Ответ

0 голосов
/ 05 ноября 2018

Предположим, у вас есть 3 различные комбинации среднего mu и стандартного отклонения sigma. Вы можете выбрать столько, сколько хотите, но для примера я использовал 3.

from matplotlib import pyplot as mp
import numpy as np

def gaussian(x, mu, sig):
    return 1./(np.sqrt(2*np.pi)*sigma)*np.exp(-0.5 * (1./sigma*(x - mu))**2)

for mu, sig in [(0.5, 0.1), (1.0, 0.2), (1.5, 0.3)]: #(mu,sigma)
    mp.plot(gaussian(np.linspace(-8, 8, 100), mu, sig))

mp.show()

Определите свои mu и sigma в этой строке, вы можете добавить столько комбинаций, сколько захотите:

for mu, sig in [(0.5, 0.1), (1.0, 0.2), (1.5, 0.3)]: #(mu,sigma)

в моем случае это

  • му = 0,5, сигма = 0,1
  • му = 1,0, сигма = 0,2
  • мю = 1,5, сигма = 0,3

Результат

enter image description here

* EDIT

%matplotlib inline
from matplotlib import pyplot as mp
import numpy as np

def gaussian(x, mu, sig):
    return 1./(np.sqrt(2*np.pi)*sigma)*np.exp(-0.5 * (1./sigma*(x - mu))**2)

for mu, sigma in [(1, 2), (0.5, 1), (0, 0.5)]: #(mu,sigma)
    mp.plot(gaussian(np.linspace(-4, 6, 100, ), mu, sigma))
    mp.xlim(0,110)  #set x-axes limits
    mp.ylim(0,1)  #set y-axes limits

mp.show()

Результат:

enter image description here

...