일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 디자인 패턴
- 코딩테스트
- 클러스터링
- 머신러닝
- 파이썬
- Machine Learning
- java
- cpp class
- 데이터 마이닝
- python
- numpy 기초
- c++
- NumPy
- 차원축소
- OOP
- 네트워크 기초
- Design Pattern
- cpp
- ack
- 코테
- 넘파이
- 데이터 분석
- lambda
- 자바
- 넘파이 배열
- 코딩테스트실력진단
- 합성곱 신경망
- 코드트리
- 기계학습
- 넘파이 기초
- Today
- Total
준비하는 대학생
[python] matplotlib - hist, box plot 본문
hist 함수
hist 함수는 Matplotlib에서 가장 기본적인 히스토그램 그래프를 그리는 함수입니다. 히스토그램은 데이터의 분포를 그래프로 나타낸 것으로, 데이터가 어떤 범위에 속하는지를 빈도 수로 표현합니다.
hist 함수는 다음과 같은 파라미터를 사용할 수 있습니다.
- x: 히스토그램을 그릴 데이터
- bins: 히스토그램을 그릴 때 구간(bin)의 개수
- range: 히스토그램을 그릴 데이터의 범위
- density: 히스토그램의 y축 값을 빈도 수 대신 확률 밀도로 표시할지 여부
- cumulative: 누적 히스토그램을 그릴지 여부
- color: 히스토그램의 색상
- alpha: 히스토그램의 투명도(0~1)
- edgecolor: 히스토그램 막대기의 테두리 색상
- linewidth: 히스토그램 막대기의 테두리 선의 두께
- histtype: 히스토그램 막대기의 모양. bar는 일반 막대기 모양, step은 계단식 모양, stepfilled는 채워진 계단식 모양
import matplotlib.pyplot as plt
import numpy as np
# 예시 데이터 생성
data = np.random.randn(1000)
# 히스토그램 그리기
plt.hist(data, bins=30, range=(-5, 5), density=True, cumulative=False, color='green',
alpha=0.5, edgecolor='black', linewidth=1, histtype='stepfilled')
plt.show()
위 코드에서는 np.random.randn() 함수를 사용하여 예시 데이터를 생성하고, plt.hist() 함수를 사용하여 히스토그램을 그렸습니다. bins 파라미터는 히스토그램을 그릴 때 구간(bin)의 개수를 설정하고,
range 파라미터는 히스토그램을 그릴 데이터의 범위를 설정합니다.
density 파라미터를 True로 설정하면 y축 값을 빈도 수 대신 확률 밀도로 표시합니다.
color 파라미터를 'green'으로 설정하여 히스토그램의 색상을 초록색으로 지정하고,
alpha 파라미터를 0.5로 설정하여 히스토그램의 투명도를 조정하였습니다.
edgecolor 파라미터를 'black'로 설정하여 막대기의 테두리 색상을 검은색으로 지정하였고,
linewidth 파라미터를 1로 설정하여 막대기의 테두리 선의 두께를 조정하였습니다.
마지막으로, histtype 파라미터를 'stepfilled'로 설정하여 계단식 모양의 히스토그램 막대기를 채워진 모양으로 지정하였습니다.
boxplot 함수
boxplot 함수는 데이터의 분포를 상자(box)와 Whisker로 표현한 그래프입니다. 상자 안의 가로선은 중앙값을 나타내며, 상자의 윗쪽과 아래쪽 끝은 3분위수와 1분위수를 나타냅니다. Whisker는 상자 바깥쪽으로 연장되는 선으로, 이는 데이터의 범위를 나타냅니다.
boxplot 함수는 다음과 같은 파라미터를 사용할 수 있습니다.
- x: 박스플롯을 그릴 데이터
- labels: 각 데이터의 이름
- vert: 박스플롯을 수직(기본값) 또는 수평으로 그릴지 여부
- notch: 상자의 모양을 기둥 모양으로 만들어 중앙값과 분위수의 신뢰구간을 나타낼지 여부
- bootstrap: 중앙값의 신뢰구간을 계산할 때 부트스트래핑을 사용할지 여부
- whis: 상자의 Whisker 길이를 제어하는 값. 기본값은 1.5
- showfliers: 이상치(outlier)를 표시할지 여부
- meanline: 평균값을 나타내는 선을 그릴지 여부
- showmeans: 평균값을 점으로 표시할지 여부
- widths: 상자의 너비를 지정합니다.
# 예시 데이터 생성
data = np.random.randn(1000)
# 박스플롯 그리기
plt.boxplot(data, vert=False, notch=True, bootstrap=10000, whis=3,
showfliers=False, meanline=True, showmeans=True, widths=0.5)
plt.show()
위 코드에서는 np.random.randn() 함수를 사용하여 예시 데이터를 생성하고, plt.boxplot() 함수를 사용하여 박스플롯을 그렸습니다. vert 파라미터를 False로 설정하면 수평으로 그립니다.
notch 파라미터를 True로 설정하면 상자의 모양을 기둥 모양으로 만들어 중앙값과 분위수의 신뢰구간을 나타냅니다.
bootstrap 파라미터를 10000으로 설정하여 중앙값의 신뢰구간을 계산할 때 부트스트래핑을 사용합니다.
whis 파라미터를 3으로 설정하여 Whisker 길이를 제어합니다.
showfliers 파라미터를 False로 설정하면 이상치(outlier)를 표시하지 않습니다.
meanline 파라미터를 True로 설정하여 평균값을 나타내는 선을 그리고,
showmeans 파라미터를 True로 설정하여 평균값을 점으로 표시합니다.
마지막으로 widths 파라미터를 0.5로 설정하여 상자의 너비를 조정합니다.
결론
Matplotlib의 hist 함수와 boxplot 함수는 각각 히스토그램과 박스플롯을 그리는 데에 사용됩니다. 이러한 그래프는 데이터 분석 및 시각화에 매우 유용합니다. Matplotlib은 다양한 그래프와 차트를 그리는 데에 사용될 수 있으며, 파이썬에서 데이터 시각화 작업을 수행할 때 가장 많이 사용되는 라이브러리 중 하나입니다. hist 함수와 boxplot 함수의 파라미터를 적절하게 조절하여 다양한 그래프를 그릴 수 있으며, Matplotlib 공식 문서에서 자세한 내용을 확인할 수 있습니다.
'Programming > Python' 카테고리의 다른 글
[Python] 클로저(Closure) (0) | 2023.04.10 |
---|---|
[Python] enumerate함수 (0) | 2023.03.30 |
[Pandas] Dataframe - Data 선택 및 필터링 (0) | 2023.03.21 |
[Pandas] Series와 DataFrame (0) | 2023.03.20 |