Matplotlib
math+plot+library
다양한 유형의 그래프와 차트 생성, 데이터를 시각적으로 표현해 분석과 공유를 더 쉽게 만들어주는 데이터 시각화 라이브러리
지원 그래프
• 선 그래프(Line Plot) : 시간에 따른 데이터 추세 분석
• 산점도(Scatter Plot) : 두 변수 간의 관계를 나타냄
• 막대 그래프(Bar Chart) : 카테고리별 데이터를 비교
• 히스토그램(Histogram) : 데이터의 분포를 나타냄
• 파이 차트(Pie Chart) : 비율을 강조하는 데 적합
• 박스 플롯(Box Plot) : 데이터의 범위, 중앙값, 이상치 시각화
• 면적 그래프(Area Plot) : 여러 범주의 누적 데이터 시각화
• 스택 막대 그래프(Stacked Bar Chart) : 카테고리별 데이터 누적 비교
• 3D 플롯(3D Plot) : 3차원 데이터 시각화
• 밀도 그래프(Density Plot) : 데이터 밀도 추정
• 분포도(Violin Plot) : 데이터의 분포와 밀도 동시에 시각화
• 스펙트럼 그래프(Spectrogram) : 신호 데이터를 주파수로 변환하여 시각화
세부 조정
• 축, 제목, 범례, 레이블 등 그래프 요소를 커스터마이즈할 수 있음
• 스타일과 색상, 라인 유형 등을 세밀하게 설정 가능
지원 출력 포맷
PDF, PNG, SVG 등
Jupyter Notebook, GUI창, 웹 등 다양한 환경에서 사용 가능
통합 가능 라이브러리
Pandas, NumPy와 같은 데이터 분석 라이브러리와 쉽게 통합 가능
설치
pip install matplotlib
라인그래프 생성
plt.plot(x축 값들, y축 값들)
그래프 크기 설정
plt.figure(figsize = (가로사이즈, 세로사이즈))
그래프 제목 설정
plt.title("제목")
import matplotlib.pyplot as plt
# 데이터 정의
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
# 그래프 생성
plt.plot(x, y, label="Prime Numbers", color='blue', linestyle='--', marker='o')
# 그래프 제목 및 레이블
plt.title("Sample Line Plot")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.legend()
# 그래프 표시
plt.show()
스타일 설정
• Matplotlib은 기본 스타일 외에도 seaborn, ggplot 등 여러 스타일을 제공
plt.style.use('ggplot') # 스타일 설정
고급 기능
서브플롯(Subplots)
하나의 그림에 여러 그래프를 표시
fig, ax = plt.subplots(2, 1) # 2행 1열의 서브플롯
ax[0].plot(x, y, color="red")
ax[1].scatter(x, y, color="green")
plt.show()
3D 플롯
mpl_toolkits.mplot3d를 사용해 3D 그래프 생성
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter([1, 2, 3], [4, 5, 6], [7, 8, 9])
plt.show()
한글 폰트 지원
Matplotlib은 기본적으로 한글을 지원하지 않기 때문에 폰트를 설정해야 함
import matplotlib.pyplot as plt
from matplotlib import rc
rc('font', family='Malgun Gothic') # Windows
# rc('font', family='AppleGothic') # macOS
plt.rcParams['axes.unicode_minus'] = False # 마이너스 기호 깨짐 방지
plt.title("한글 지원 그래프")
plt.plot([1, 2, 3], [1, 4, 9])
plt.show()
--------------------options.
사용자 설정파일 만들기
koreanize-matplotlib 설치
import koreanize_matplotlib # 설치 후 바로 적용
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.title("한글이 포함된 그래프")
plt.show()
'Python to AI' 카테고리의 다른 글
Scikit-learn (2) | 2024.12.26 |
---|---|
Anaconda (3) | 2024.12.26 |
AI/ML/DL (3) | 2024.12.24 |
Python - Pandas(데이터 프레임 구조 재조정) (3) | 2024.12.18 |
Machine learning Vol.2 (7) | 2024.12.17 |