본문 바로가기

Software/Python

MATPLOTLIB 히스토그램과 박스플롯 Boxplot

Python 카테고리에서는 최근 MATPLOTLIB에 관련 기초 글을 올리고 있는데요. 이제 몇 번 안남았네요. 계획했던게 말이죠^^

일단 numpyimport하셔서 random.normal을 사용해서 랜덤 변수를 저장하겠습니다. 이 함수는 가우스 분포를 가지는 랜덤 변수를 가져오는 건데요. 중간값은 5이고, 크기는 3이고, 데이터 개수는 1000개입니다. 단 가우스 분포이기 때문에 2~8을 넘을 수 있습니다.^^

시간영역에서 plot해보면 뭐 그냥 랜덤이군 하시겠죠^^

그러나 hist명령으로 히스토그램을 그려보면 아~ 5를 중심으로 한 가우스분포구나~~~하시겠죠^^

bins 옵션으로 구간을 20개 정도로 더 잘게 나누어 볼 수 있습니다.

facecolor를 설정하고, alpha를 조절해서 투명도를 좀 주고, histtype='stepfilled'를 주어 경계선을 없애면 위 그림과 같은 결과를 얻을 수 있습니다.

이면에는 numpy의 평균이 0이고 분산이 1인 표준정규분포를 따르는 랜덤변수르 호출하는 random.randn 함수를 사용해서 히스토그램을 그려보겠습니다. 역시 그냥 나열해서는 잘 모르죠^^

히스토그램을 그려보면 쉽게 알 수 있습니다.^^

이번에는 서로 다른 랜덤변수를 가지고~~~

이렇게 boxplot을 그려볼 수 있습니다. 데이터가 여러개 일때, 그 분포를 서로 쉽게 비교해볼 수 있습니다. 선의 의미는 

입니다. 박스안에 들어가는 것이 전체의 50%, 가운데 선은 중간값입니다.^^

반응형