Matplotlib은 Python에서 데이터 시각화를 위한 가장 널리 사용되는 라이브러리입니다. 데이터를 그래프나 차트 형태로 시각화하는 데 사용되며, 다양한 유형의 차트를 지원합니다. 여기서는 Matplotlib을 사용하여 자주 사용되는 3가지 차트 예시를 소개하고 각각의 코드와 함께 설명해 드리겠습니다.
1. 선 그래프 (Line Plot)
선 그래프는 데이터의 추세를 시각적으로 표현하는 데 유용합니다. 일반적으로 시간에 따른 변화를 나타내거나 연속적인 데이터를 시각화할 때 사용됩니다.
예시 코드:
import matplotlib.pyplot as plt
# 데이터 생성
x = [0, 1, 2, 3, 4, 5]
y = [0, 1, 4, 9, 16, 25]
# 선 그래프 그리기
plt.plot(x, y, label="y = x^2", color='b', marker='o')
# 제목, 레이블 추가
plt.title("선 그래프 예시")
plt.xlabel("x 값")
plt.ylabel("y 값")
# 범례 표시
plt.legend()
# 그래프 출력
plt.show()
설명:
- plt.plot(x, y)는 x와 y 값을 연결하는 선을 그립니다.
- label은 그래프의 범례를 추가합니다.
- color와 marker는 그래프 선의 색상과 각 데이터 포인트에 표시되는 마커 모양을 지정합니다.
- plt.title(), plt.xlabel(), plt.ylabel()을 통해 제목과 축 레이블을 추가할 수 있습니다.
- plt.legend()는 그래프의 범례를 표시합니다.
출력 그래프:
- 그래프 내용: x와 y 값 (0, 1, 4, 9, 16, 25)에 해당하는 점들이 차례대로 선으로 연결됩니다. 이 선은 y = x^2 함수의 형태를 따릅니다.
- 그래프 특징:
- 그래프는 점들이 부드럽게 연결된 선으로 나타납니다.
- x 값에 따라 y 값이 급격히 증가하는 패턴이 보입니다.
- 범례(y = x^2)와 축 제목이 표시됩니다.
y
^
| *
| *
| *
| *
| *
+----------------------------> x
2. 막대 그래프 (Bar Plot)
막대 그래프는 데이터 항목 간 비교를 시각적으로 쉽게 표현할 수 있는 차트입니다. 범주형 데이터의 크기 비교에 적합합니다.
예시 코드:
import matplotlib.pyplot as plt
# 데이터 생성
categories = ['A', 'B', 'C', 'D']
values = [3, 7, 2, 5]
# 막대 그래프 그리기
plt.bar(categories, values, color='orange')
# 제목, 레이블 추가
plt.title("막대 그래프 예시")
plt.xlabel("카테고리")
plt.ylabel("값")
# 그래프 출력
plt.show()
설명:
- plt.bar()는 각 카테고리의 값을 막대로 나타냅니다.
- categories는 각 막대가 나타내는 범주(예: 'A', 'B', 'C', 'D')이고, values는 각 카테고리의 값입니다.
- color를 사용하여 막대의 색을 지정할 수 있습니다.
출력 그래프:
- 그래프 내용: categories = ['A', 'B', 'C', 'D']에 대한 값들이 막대 형태로 그려집니다.
- A는 3, B는 7, C는 2, D는 5의 값을 가집니다.
- 그래프 특징:
- 각 범주(A, B, C, D)마다 해당하는 값의 높이를 가진 직사각형 막대들이 표시됩니다.
- 각 막대의 색상은 오렌지색이며, 범주별로 높이가 다르게 나타납니다.
y
^
| █
| █
| █ █
| █ █ █
| █ █ █ █
+----------------------------> x
A B C D
3. 산점도 (Scatter Plot)
산점도는 두 변수 간의 관계를 나타내는 데 사용됩니다. 각 점은 두 변수의 값을 나타내며, 데이터 포인트들이 어떻게 분포하는지 시각적으로 보여줍니다.
예시 코드:
import matplotlib.pyplot as plt
# 데이터 생성
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
# 산점도 그리기
plt.scatter(x, y, color='green', marker='x')
# 제목, 레이블 추가
plt.title("산점도 예시")
plt.xlabel("x 값")
plt.ylabel("y 값")
# 그래프 출력
plt.show()
설명:
- plt.scatter(x, y)는 x와 y 값에 해당하는 점들을 그립니다.
- color는 점의 색을, marker는 점의 모양을 지정합니다. 예시에서는 'x' 모양을 사용했습니다.
- 산점도는 두 변수 간의 상관 관계나 분포를 시각적으로 확인할 때 유용합니다.
출력 그래프:
- 그래프 내용: x 값([1, 2, 3, 4, 5])에 대한 y 값([1, 4, 9, 16, 25])에 해당하는 점들이 산점도 형태로 분포합니다.
- 각 점은 x와 y 값에 대응하는 위치에 나타납니다.
- 그래프 특징:
- 각 점은 'x' 모양이며, 초록색으로 표시됩니다.
- x 값이 증가함에 따라 y 값이 급격하게 증가하는 형태를 보입니다.
y
^
| x
| x
| x
| x
|x
+----------------------------> x
1 2 3 4 5
그래프 출력 방법
이 코드들은 로컬 환경이나 Jupyter Notebook에서 실행하면 실제로 그래프를 확인할 수 있습니다. 예를 들어, Jupyter Notebook에서는 matplotlib 그래프가 바로 표시되고, 일반적인 Python 환경에서도 plt.show() 명령을 사용하여 그래프가 새 창에 표시됩니다.
다음과 같이 코드를 실행하면 그래프를 확인할 수 있습니다:
$ pip install matplotlib # 설치가 안 되어 있으면
그 후, Python 파일이나 Jupyter Notebook에서 코드 실행을 통해 위에서 설명한 출력 그래프를 실제로 확인할 수 있습니다.
요약:
- 선 그래프: 연속적인 데이터의 추세를 시각화할 때 사용.
- 막대 그래프: 범주형 데이터의 크기를 비교할 때 사용.
- 산점도: 두 변수 간의 관계를 시각적으로 분석할 때 사용.
Matplotlib은 이 외에도 다양한 차트 유형을 지원하며, plt 객체를 사용하여 세부적인 설정을 조정할 수 있습니다. 각 차트에 다양한 스타일과 색상, 레이블 등을 추가하여 시각적으로 더 효과적인 그래프를 만들 수 있습니다.
'프로그래밍 > [ Python ]' 카테고리의 다른 글
[Python] Requests Module (0) | 2024.11.26 |
---|---|
[Python] MySQL (0) | 2024.11.25 |
[Python] Lambda (0) | 2024.11.21 |
[Python] Iterator (2) | 2024.11.20 |
python 정규 표현식 regex (0) | 2024.11.19 |