간단한 Matplotlib
1. Matplotlib
Matplotlib는 데이터 시각화를 위한 라이브러리로, 다양한 그래프를 그릴 수 있습니다. Matplotlib는 다양한 스타일을 제공하며, 사용자가 원하는 스타일을 쉽게 적용할 수 있습니다.
이번 챕터에서는 Matplotlib의 기본적인 사용법을 알아보겠습니다.
실습 전 주의사항
- 해당 챕터는 차례대로 실행해야 합니다.
- 위니북스에서는 그래프에서 한글을 지원하지 않습니다.
- 위니북스에서는
show()를, Colab에서는plt.show()를 사용합니다.
아래 코드를 먼저 실행하고 진행해주세요.
def show(n):
el = js.document.querySelectorAll('py-repl')[n]
display(plt.gcf(), target=el.getAttribute('id')+'-1')
print('실행 완료')
1.1 Matplotlib의 기본 그래프
Matplotlib를 사용하기 위해서는 먼저 matplotlib.pyplot 모듈을 plt로 불러와야 합니다. 그리고 plt.plot() 함수를 사용하여 그래프를 그릴 수 있습니다. 아래 코드는 plt.plot() 함수를 사용하여 선 그래프를 그리는 예제입니다.
import matplotlib.pyplot as plt
plt.plot([10, 20, 30, 40])
# 위니북스
show(1)
plt.close()
# 코랩
# plt.show()
이번에는 x축과 y축의 값을 지정하여 선 그래프를 그려보겠습니다.
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], [12, 43, 25, 15])
# 위니북스
show(2)
plt.close()
# 코랩
# plt.show()
1.2 그래프 스타일
Matplotlib는 다양한 스타일을 제공하며, 사용자가 원하는 스타일을 쉽게 적용할 수 있습니다. 아래 코드는 plt.plot() 함수에 color, linestyle, marker 등의 인자를 사용하여 그래프 스타일을 지정하는 예제입니다.
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], [12, 43, 25, 15], color='red', linestyle='--', marker='o')
# 위니북스
show(3)
plt.close()
# 코랩
# plt.show()
좀 더 간단한 단축 형태로도 사용할 수 있습니다.
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], [12, 43, 25, 15], 'ro--')
# 위니북스
show(4)
plt.close()
# 코랩
# plt.show()
1.3 그래프 제목, 레이블, 범례
Matplotlib를 사용하면 그래프의 제목, x축 레이블, y축 레이블, 범례 등을 쉽게 추가할 수 있습니다. 아래 코드는 plt.title(), plt.xlabel(), plt.ylabel(), plt.legend() 함수를 사용하여 그래프의 제목, x축 레이블, y축 레이블, 범례를 추가하는 예제입니다.
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], [12, 43, 25, 15], 'ro--')
plt.title('Sample Graph')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.legend(['data'])
# 위니북스
show(5)
plt.close()
# 코랩
# plt.show()
1.4 그래프 종류
Matplotlib는 다양한 그래프를 그릴 수 있습니다.
| 함수 | 그래프 종류 | 용도 |
|---|---|---|
plt.plot() | 선 그래프 | 시계열 데이터, 추세 분석 |
plt.bar() | 막대 그래프 | 범주별 비교 |
plt.scatter() | 산점도 | 변수 간 관계 파악 |
plt.pie() | 파이 차트 | 비율 표현 |
plt.hist() | 히스토그램 | 분포 확인 |
아래는 각 그래프를 그리는 예제입니다.
import matplotlib.pyplot as plt
plt.bar([1, 2, 3, 4], [12, 43, 25, 15])
# 위니북스
show(6)
plt.close()
# 코랩
# plt.show()
import matplotlib.pyplot as plt
plt.scatter([1, 2, 3, 4], [12, 43, 25, 15])
# 위니북스
show(7)
plt.close()
# 코랩
# plt.show()
import matplotlib.pyplot as plt
plt.pie([10, 20, 30, 40])
# 위니북스
show(8)
plt.close()
# 코랩
# plt.show()
1.5 그래프에 상세 옵션
예를 들어 x축을 45도 회전하거나, 그래프의 크기를 조절하거나, 그리드를 추가하는 등의 상세한 옵션을 적용할 수 있습니다. 아래 코드는 plt.xticks(), plt.yticks(), plt.figure(), plt.grid() 함수를 사용하여 그래프에 상세한 옵션을 적용하는 예제입니다.
import matplotlib.pyplot as plt
plt.figure(figsize=(5, 5))
plt.xticks([1, 2, 3, 4])
plt.yticks([10, 20, 30, 40])
plt.plot([1, 2, 3, 4], [12, 43, 25, 15], 'ro--')
plt.grid(True)
# 위니북스
show(9)
plt.close()
# 코랩
# plt.show()
이번에는 pie 그래프에 상세한 옵션을 적용해보겠습니다.
import matplotlib.pyplot as plt
plt.pie(
[10, 20, 30, 40],
labels=['A', 'B', 'C', 'D'],
autopct='%1.1f%%',
startangle=90,
explode=(0, 0.1, 0, 0)
)
# 위니북스
show(10)
plt.close()
# 코랩
# plt.show()