목차
1. Matplotlib이란
1-1 Matplotlib 설치
1-2 선형 그래프 예제
1-3 막대 그래프 예제
1-4 히스토그램 예제
2. 그래프 꾸미기
1. Matplotlib 이란
Matplotlib는 데이터 시각화를 위한 Python 라이브러리이다.
선 그래프, 막대 그래프, 히스토그램, 산점도, 원형 차트 등을 만들 수 있다.
NumPy나 pandas에서 생성한 데이터를 그래프로 시각화할 수 있다.
1-1 Matplotlib 설치
pip install matplotlib
1-2 선형 그래프 예제
선형 그래프(Line plot)는 데이터의 변화 추이를 선으로 연결하여 표현하는 그래프이다.
주로 시간에 따른 데이터 변화나 추세와 같은 연속형 데이터를 확인할 때 사용된다.
예를 들어 주가 변화, 온도 변화, 판매량 변화 등을 표현할 때 활용된다.
예제 1) 라이브러리 import
matplotlib의 pyplot 모듈을 불러온다.
관례적으로 plt라는 별칭으로 가져온다.
import matplotlib.pyplot as plt
예제 2) 데이터 생성
x=[1, 2, 3, 4, 5]
y=[10, 15, 13, 20, 18]
print("x 데이터:", x)
print("y 데이터:", y)
x :그래프의 가로축에 사용할 데이터 (ex. 시간)
y : 그래프의 세로축에 사용할 데이터 (ex. 판매량)
예제 2) 출력 결과
x 데이터: [1, 2, 3, 4, 5]
y 데이터: [10, 15, 13, 20, 18]
예제 3) 그래프 생성 옵션 - plt.plot
선형 그래프를 생성하기 위해서 plot() 함수를 사용한다.
- 첫 번째 매개변수 : x축 상의 점들을 담은 배열
- 두 번 매개변수 : y축 상의 점들을 담고 있는 배열
plt.plot(
x,
y
)
예제 3) 출력 결과

예제 4) 그래프 생성 옵션 - marker
marker 인자를 사용하여, 지정된 마커로 각 항목을 강조할 수 있다.
plt.plot(
x,
y,
marker='o'
)
예제 4) 출력 결과

예제 5) 그래프 생성 옵션 - color
color 인자를 사용하여 그래프의 색상을 지정할 수 있다.
주요 컬러별 별칭은 다음과 같다. 이외에도 'red', 'blue', 'green'과 같은 색상 이름도 사용할 수 있다.
| alias | color |
| 'b' | 파랑 |
| 'r' | 빨강 |
| 'g' | 초록 |
| 'm' | 마젠타 |
| 'y' | 노란색 |
| 'k' | 검은색 |
| 'w' | 하얀색 |
plt.plot(
x,
y,
marker='o',
color='r'
)
예제 5) 출력 결과

예제 6) 그래프 생성 옵션 - linestyle
linestyle 인자를 사용하여, 그래프의 선모양을 변경할 수 있다.
주요 그래프 선 모양은 다음과 같다.
| 구분 | 설명 |
| – | 실선 |
| — | 점선 |
| -. | 대시-점선 |
| : | 점선 |
| None | 선 없음 |
plt.plot(
x,
y,
marker='o',
color='r',
linestyle=':'
)
예제 6) 출력 결과

예제 7) 그래프 생성 옵션 - plt.grid
grid() 함수는 그래프에 격자선을 추가하여 데이터 값을 더 쉽게 읽을 수 있도록 도와준다.
plt.plot(
x,
y,
marker='o',
color='r',
linestyle=':'
)
plt.grid()
예제 7) 출력 결과

예제 8) 그래프 출력
show() 함수는 생성된 그래프를 화면에 출력하는 함수이다.
plt.plot(
x,
y,
marker='o',
color='r',
linestyle=':'
)
plt.grid()
plt.show()
1-2 막대 그래프(Bar Chart)
막대 그래프는 직사각형 막대를 사용하여 여러 범주의 값을 비교하는 그래프이다.
일반적으로 x축에는 비교 대상이 되는 범주가 표시되고, y축에는 각 범주에 해당하는 값이 표시된다.
예제 1) 라이브러리 import
matplotlib의 pyplot 모듈을 불러온다.
관례적으로 plt라는 별칭으로 가져온다.
import matplotlib.pyplot as plt
예제 2) 데이터 생성
categories = ['Apple', 'Banana', 'Orange', 'Grape']
values = [10, 15, 7, 12]
print("카테고리:", categories)
print("값:", values)
categories : 막대 그래프의 x축에 표시될 범주 데이터 (ex. 과일)
values : 각 범주에 해당하는 값(막대의 높이) (ex. 과일 판매량)
예제 2) 출력 결과
카테고리: ['Apple', 'Banana', 'Orange', 'Grape']
값: [10, 15, 7, 12]
예제 3) 그래프 생성 옵션 - plt.bar
막대 그래프를 생성하기 위해서 bar() 함수를 사용한다.
- 첫 번째 매개변수 : x 축에 표시될 범주
- 두 번째 매개변수 : 각 범주에 해당하는 값
예제 3) 출력 결과

예제 4) 그래프 생성 옵션 - color
color 인자를 사용하여 막대 그래프의 색상을 지정할 수 있다.
plt.bar(
categories,
values,
color='pink'
)
예제 4) 출력 결과

예제 5) 그래프 생성 옵션 - edgecolor
edgecolor 인자를 사용하여 막대 그래프의 테두리 색상을 지정할 수 있다.
plt.bar(
categories,
values,
color='pink',
edgecolor='blue'
)
예제 5) 출력 결과

예제 6) 가로 막대 그래프 - plt.barh
barh() 함수는 가로 막대 그래프를 생성하는 함수이다.
데이터의 범주 이름이 길거나, 범주가 많을 대 가로 막대 그래프가 더 보기 편하다.
plt.barh(
categories,
values,
color='pink',
edgecolor='blue'
)
plt.show()
예제 6) 출력 결과

예제 7) 그래프 출력
show() 함수는 생성된 그래프를 화면에 출력하는 함수이다.
plt.bar(
categories,
values,
color='pink',
edgecolor='blue'
)
plt.show()
1-3 히스토그램(Histogram)
막대 그래프가 범주형 데이터를 비교하는 그래프라면, 히스토그램은 연속형 데이터의 분포를 확인하는 그래프이다.
히스토그램은 데이터를 일정한 구간으로 나누어, 각 구간에 데이터가 얼마나 많이 포함되어 있는지를 막대 형태로 표현한다.
이를 통해 데이터가 어떤 구간에 많이 분포하는지, 또는 데이터가 어떻게 퍼져 있는지를 확인할 수 있다.
예제 1) 라이브러리 import
metplotlib의 pyplot 모듈을 불러온다.
관례적으로 plt라는 별칭으로 가져온다.
import matplotlib.pyplot as plt
예제 2) 데이터 생성
히스토그램을 그리기 위해 연속형 데이터를 생성한다.
scores=[55, 60, 62, 65, 67, 70, 72, 75, 78, 80, 82, 85, 88, 90, 92]
print("점수 데이터:", scores)
scores : 학생들의 시험 점수 데이터
즉, 위 데이터는 학생들의 시험 점수 분포라고 할 수 있다.
예제 2) 출력 결과
점수 데이터: [55, 60, 62, 65, 67, 70, 72, 75, 78, 80, 82, 85, 88, 90, 92]
예제 3) 그래프 생성
히스토그램을 생성하기 위해 hist() 함수를 사용한다.
plt.hist(
scores
)
예제 3) 출력 결과
히스토그램이 생성되며, 데이터가 여러 구간으로 나뉘어 각 구간의 데이터 개수가 막대로 표시된다.

예제 4) 그래프 생성 옵션 - bins
bins 인자를 사용하여 데이터를 나누는 구간의 개수를 지정할 수 있다.
plt.hist(
scores,
bins=5
)
예제 4) 출력 결과
데이터가 5개의 구간으로 나뉘어 히스토그램이 생성된다.

예제 5) 그래프 생성 옵션 - color
color 인자를 사용하여 히스토그램의 색상을 지정할 수 있다.
plt.hist(
scores,
bins=5,
color='yellow'
)
예제 5) 출력 결과
히스토그램의 막대 색상이 노란색으로 표시된다.

예제 6) 그래프 생성 옵션 - edgecolor
edgecolor 인자를 사용하여 막대의 테두리 색상을 지정할 수 있다.
plt.hist(
scores,
bins=5,
color='yellow',
edgecolor='black'
)
예제 6) 출력 결과
막대의 테두리가 검은색으로 표시된 히스토그램이 생성된다.

예제 7) 그래프 생성 옵션 - alpha
alpha 인자를 사용하면 그래프의 투명도를 조절할 수 있다.
값의 범위는 0~1 사이이다. (0: 완전 투명, 1:불투명)
plt.hist(
scores,
bins=5,
color='yellow',
edgecolor='black',
alpha=0.3
)
예제 7) 출력 결과
히스토그램의 막대가 투명도가 적용된 상태로 표시된다.

예제 8) 그래프 출력
show() 함수는 생성된 그래프를 화면에 출력하는 함수이다.
plt.hist(
scores,
bins=5,
color='yellow',
edgecolor='black',
alpha=0.3
)
plt.show()
2. 그래프 꾸미기 옵션
Matplotlib에서는 그래프를 더 보기 쉽게 만들기 위해 제목, 축, 이름, 범례 등을 추가할 수 있다.
이러한 옵션을 활용하면 그래프의 의미를 보다 명확하게 전달할 수 있다.
예제 1) plt.title
title() 함수는 그래프의 제목을 설정하는 함수이다.
plt.bar(
categories,
values,
color = 'pink',
edgecolor ='blue'
)
plt.title("Fruit Sales")
plt.show()
예제 1) 출력 결과

예제 2) plt.xlabel, plt.ylabel
xlabel() 함수는 x축의 이름을 설정하는 함수이다.
ylabel() 함수는 y축의 이름을 설정하는 함수이다.
plt.bar(
categories,
values,
color = 'pink',
edgecolor ='blue'
)
plt.title("Fruit Sales")
plt.xlabel("Fruit")
plt.ylabel("Sales")
plt.show()
예제 2) 출력 결과

예제 3) plt.legend
legend() 함수는 그래프에 범례(legend)를 표시하는 함수이다.
여러 개의 그래프를 함께 표현할 때, 각 그래프가 무엇을 의미하는지 구분하기 위해 사용한다.
예를 들어, 두 개의 선 그래프를 함께 표현할 경우 다음과 같이 사용할 수 있다.
x = [1,2,3,4]
y1 = [10,15,20,25]
y2 = [12,18,22,30]
plt.plot(x, y1, label="Product A")
plt.plot(x, y2, label="Product B")
plt.legend()
plt.show()
이 경우 그래프에는 Product A, Product B를 구분하는 범례가 표시된다.
예제 3) 출력 결과

'머신러닝&딥러닝' 카테고리의 다른 글
| 머신러닝 & 딥러닝 기초 15편 | EDA(탐색적 데이터 분석)와 주요 시각화 기법 (1) | 2026.03.15 |
|---|---|
| 머신러닝 & 딥러닝 기초 14편 | Seaborn, 히트맵, 박스플롯, 바이올린플롯 (1) | 2026.03.14 |
| 머신러닝 & 딥러닝 기초 12편 | 정규분포, 왜도, 첨도 (0) | 2026.03.14 |
| 머신러닝 & 딥러닝 기초 11편 | 분산, 표준편차, 사분위수 (0) | 2026.03.14 |
| 머신러닝 & 딥러닝 기초 10편 | 평균, 중앙값, 최빈값 (statistics, pandas) (0) | 2026.03.14 |