본문 바로가기
파이썬

파이썬 Matplotlib를 사용하여 정규 분포 플로팅

by º기록 2021. 1. 1.
반응형

다음 데이터의 정규 분포를 그릴 수 있도록 도와주세요.

데이터:

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

h = [186, 176, 158, 180, 186, 168, 168, 164, 178, 170, 189, 195, 172,
     187, 180, 186, 185, 168, 179, 178, 183, 179, 170, 175, 186, 159,
     161, 178, 175, 185, 175, 162, 173, 172, 177, 175, 172, 177, 180]

std = np.std(h) 
mean = np.mean(h)    
plt.plot(norm.pdf(h,mean,std))

산출:

Standard Deriviation = 8.54065575872 
mean = 176.076923077

플롯이 올바르지 않습니다. 내 코드에 어떤 문제가 있습니까?

 

해결 방법

 

hist 를 사용하여 아래와 같이 적합 곡선과 함께 데이터 정보를 입력 할 수 있습니다.

import numpy as np
import scipy.stats as stats
import pylab as pl

h = sorted([186, 176, 158, 180, 186, 168, 168, 164, 178, 170, 189, 195, 172,
     187, 180, 186, 185, 168, 179, 178, 183, 179, 170, 175, 186, 159,
     161, 178, 175, 185, 175, 162, 173, 172, 177, 175, 172, 177, 180])  #sorted

fit = stats.norm.pdf(h, np.mean(h), np.std(h))  #this is a fitting indeed

pl.plot(h,fit,'-o')

pl.hist(h,normed=True)      #use this to draw histogram of your data

pl.show()                   #use may also need add this 

여기에 이미지 설명 입력

 

참조 페이지 https://stackoverflow.com/questions/20011494

 

 

반응형

댓글