다양한 그래프와 응용 - Matplotlib 활용
이번 강의에서는 히스토그램, 산점도, 파이 차트, 서브플롯을 통해 다양한 방식으로 데이터를 표현하는 방법을 알아보겠습니다.
1. 히스토그램(Histogram) - 데이터 분포 시각화
히스토그램은 데이터의 분포를 분석할 때 유용한 그래프입니다.
import matplotlib.pyplot as plt
import numpy as np
# 랜덤 데이터 생성 (정규 분포)
data = np.random.randn(1000)
# 히스토그램 그리기
plt.hist(data, bins=30, color='purple', alpha=0.7)
# 그래프 설정
plt.title("데이터 분포 히스토그램")
plt.xlabel("값")
plt.ylabel("빈도")
plt.show()
주요 개념
-
bins=30
: 데이터를 30개의 구간(bin)으로 나누어 표시 -
alpha=0.7
: 그래프의 투명도 조절 (0.0: 투명, 1.0: 불투명)
히스토그램을 활용하면 데이터가 특정 값에 집중되는지, 정규 분포를 따르는지 등을 분석할 수 있습니다.
2. 산점도(Scatter Plot) - 데이터 간 관계 분석
산점도는 두 개의 변수 간 상관관계를 시각적으로 표현할 때 사용됩니다.
import matplotlib.pyplot as plt
import numpy as np
# 랜덤 데이터 생성
x = np.random.rand(50)
y = np.random.rand(50)
# 산점도 그리기
plt.scatter(x, y, color='blue', alpha=0.5)
# 그래프 설정
plt.title("산점도 그래프")
plt.xlabel("X 값")
plt.ylabel("Y 값")
plt.show()
주요 개념
-
plt.scatter(x, y)
: x축과 y축 데이터의 관계를 점으로 표현 -
alpha=0.5
: 점의 투명도를 조절하여 겹치는 부분을 확인하기 쉽게 함
산점도는 변수 간의 상관관계를 확인하거나 이상치를 탐색할 때 유용합니다.
3. 파이 차트(Pie Chart) - 비율 표현
파이 차트는 데이터의 비율을 시각적으로 표현할 때 사용됩니다.
import matplotlib.pyplot as plt
labels = ["A", "B", "C", "D"]
values = [30, 20, 40, 10]
plt.pie(values, labels=labels, autopct="%1.1f%%", colors=['red', 'blue', 'green', 'orange'])
plt.title("비율을 나타내는 파이 차트")
plt.show()
주요 개념
-
labels
: 각 조각의 이름 지정 -
autopct="%1.1f%%"
: 퍼센트 값을 표시 (소수점 첫째 자리까지) -
colors
: 각 조 각의 색상 지정
파이 차트는 데이터의 상대적인 크기를 표현할 때 효과적입니다.
4. 서브플롯(Subplots) - 여러 개의 그래프 배치
Matplotlib에서는 한 화면에 여러 개의 그래프를 배치할 수 있습니다.
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.figure(figsize=(10, 4))
# 첫 번째 그래프 (sin 그래프)
plt.subplot(1, 2, 1)
plt.plot(x, y1, color='blue')
plt.title("Sine 함수")
# 두 번째 그래프 (cos 그래프)
plt.subplot(1, 2, 2)
plt.plot(x, y2, color='red')
plt.title("Cosine 함수")
plt.tight_layout()
plt.show()
주요 개념
-
plt.subplot(행, 열, 위치)
: 여러 개의 그래프를 배치 -
figsize=(10, 4)
: 전체 그래프 크기 조절 -
plt.tight_layout()
: 그래프 간 간격을 자동 조정
서브플롯을 활용하면 여러 개의 데이터를 한눈에 비교할 수 있습니다.
Matplotlib을 활용하면 데이터 분석이 더욱 직관적이고 효율적으로 이루어질 수 있습니다.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!