다양한 그래프와 응용 - 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을 활용하면 데이터 분석이 더욱 직관적이고 효율적으로 이루어질 수 있습니다.
참고자료
다음 중 빈칸에 들어갈 가장 적절한 메서드는 무엇일까요?
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말