본문 바로가기

간단한 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()
간단한 Matplotlib - 데이터 분석 베이스캠프 | 위니버시티