반응형

데이터 분석에서 시각화는 선택이 아니라 필수 과정입니다.
특히 Python에서는 matplotlib, seaborn, pandas, plotly가 가장 많이 활용됩니다.
이 글에서는 다음을 정리합니다.
- 통계적 시각화 vs 업무 분석 시각화 차이
- Matplotlib 구조 (Figure & Axes)
- pyplot 인터페이스 이해
- 실전 코드 기반 기본 설정 방법
- 축, 틱, 범례, 제한 범위 설정 방법
기초이지만 반드시 정확히 이해해야 할 내용입니다.
1. Python 주요 시각화 라이브러리
✅ Python library
- matplotlib
- seaborn
- pandas
- plotly
📊 통계적인 시각화 (Statistical)
히스토그램, 바차트, 분위, 상관히트맵, 산포도
→ 주로 Seaborn
Seaborn 특징
- Matplotlib 보다 쉽고 이쁘게, pandas와 쉬운 연동
- Matplotlib 기반으로 쉽게 작성됨
- Default 설정만으로 Matplotlib보다 수려한 Visual 제공하며 Pandas 와 쉽게 연동
그러나 Matplotlib을 어느정도 알고있어야함
📈 Matplotlib 특징
- Python Visualization 가장 많이 사용되는 라이브러리
- 3차원 이상의 입체시각화도 다양하게 지원
- 직관적이지 못한 API로 인해 개발에 익숙해지는 많은 시간이 소요됨
- Figure와 Axes 구조 이해가 시작 → Label, Legend 등 세팅
📊 업무분석 시각화 (Business Analysis)
바차트, 라인플롯, 파이차트, 영역 차트, 산포도, 방사형 차트
→ 주로 Plotly
Plotly는 인터랙티브 대시보드 및 BI 시각화에 적합합니다.
2. Matplotlib.pyplot 모듈의 이해
imort matplotlib.pyplot as plt
plt.plot([1.2.3],[4,5,6])
plt.title('Hello plot')
plt.show()

🔎 코드 설명
- matplotlib.pyplot은 Matlab 스타일 인터페이스를 제공합니다.
- plt.plot()은 선 그래프를 생성합니다.
- plt.title()은 그래프 제목을 설정합니다.
- plt.show()는 그래프를 화면에 출력합니다.
pyplot 은 Matlab 스타일의 interface를 가지며
MatLab 사용자들이 보다 쉽게 Python에 적용할수있도록 설계되었습니다.
3. Pyplot의 두가지 구성요소 : Figure, Axes
✅ Figure
- 그림을 그리기 위한 Canvas 역할
- 전체 그림판
- 크기, 배경색 설정
✅ Axes
- 실제 데이터가 그려지는 영역
- X축, Y축, Title, Legend 등을 설정하는 객체
관계 구조
- Figure는 액자
- Axes는 그림
Axes(Line2D, Text, XAxis, YAxis) → Figure에 포함됩니다.
4. 여러개의 plot을 가지는 Figure
fig, (ax1, ax2)= plt.subplots(1,2,figsize=(10,6))

🔎 설명
- plt.subplots()는 Figure와 Axes를 동시에 생성합니다.
- (1,2)는 1행 2열 구조
- figsize=(10,6)은 전체 그림 크기 설정
5. 기본 2D Plot 예제
import matplotlib.pyplot as plt
%matplotlib inline
plt.plot([1,2,3],
[2,4,6])
plt.title('Hello Plot')
plt.show()

🔎 설명
- [1,2,3] → X축 값
- [2,4,6] → Y축 값
- 직선 그래프 출력
6. Figure 크기 설정
plt.figure(
figsize=(10,4) # 액자 가로 10, 세로 4 설정
)
plt.plot([1,2,3],
[2,4,6])
plt.title('Hello Plot')
plt.show()

🔎 설명
- plt.figure()는 Figure 객체 생성
- figsize는 가로, 세로 크기 지정
plt.figure(
figsize=(8,6), # Figure 객체 크기
facecolor='yellow' # 배경 색상 설정
)
plt.plot([1,2,3],
[2,4,6])
plt.title('Hello Plot')
plt.show()

7. Axes 객체 확인
ax = plt.axes()
print(type(ax))
- 현재 axes 객체를 생성 및 확인합니다.
8. DataFrame 활용 예제
import pandas as pd
df = pd.DataFrame({
'x_value': [1,2,3,4,5,6],
'y_value':[2,4,6,8,10,12]
})
plt.plot(df['x_value'],
df['y_value'])
목적
- pandas DataFrame과 연동하여 시각화
9. 스타일 설정
plt.plot(x_value,
y_value,
color='green') # 라인 색상 설정

plt.plot(x_value,
y_value,
color='red',
marker='o',
linestyle='dashed',
linewidth=2,
markersize=6)

설정 항목
- color → 선 색상
- marker → 점 모양
- linestyle → 선 스타일
- linewidth → 선 두께
- markersize → 점 크기
10. 축 이름 설정
plt.xlabel('X axis')
plt.ylabel('Y axis')

11. 틱(Tick) 조정
plt.xticks(ticks=np.arange(0,100,5),
rotation=45)
plt.yticks(rotation=45)

목적
- X축 간격 조정
- 라벨 회전 (가독성 개선)
12. 축 범위 제한
plt.xlim(0,50)
plt.ylim(0,100)
- X축, Y축 표시 범위 제한
13. 범례 설정
plt.plot(x_value,
y_value,
color='green',
label='temp')
plt.legend()

label 설정 후 plt.legend() 호출
Matplotlib을 이해하는 핵심은 단 하나입니다.
Figure와 Axes 구조를 정확히 이해하는 것
- Figure = 액자
- Axes = 실제 그림 영역
- pyplot = 빠르게 그리는 Matlab 스타일 인터페이스
Seaborn은 Matplotlib 기반이므로
Matplotlib 구조를 이해하면 Seaborn도 훨씬 쉬워집니다.
반응형
'Programming' 카테고리의 다른 글
| Seaborn 차트 유형 완전 정리 | Histogram, Violin, Bar, Scatter, Line Plot 한 번에 이해하기 (0) | 2026.02.15 |
|---|---|
| Matplotlib 여러 Plot 한 Axes에 그리기 & Subplots 완전 정리 (0) | 2026.02.15 |
| 데이터 시각화 핵심 개념 한 번에 정리 (0) | 2026.02.15 |
| Mercari Price Suggestion— 대규모 텍스트 + 카테고리 데이터를 활용한 가격 예측 실전 프로젝트 (0) | 2026.02.14 |
| 토픽 모델링(Topic Modeling) 완전 정리— LDA 이론부터 20 Newsgroups 실습까지 (0) | 2026.02.14 |