소개
이 튜토리얼은 Matplotlib 에서 pyplot 인터페이스를 사용하는 방법에 대한 단계별 가이드를 제공합니다. pyplot 모듈은 Matplotlib 을 MATLAB 처럼 작동하게 해주는 함수들의 모음으로, 플롯을 쉽게 생성하고 사용자 정의할 수 있도록 해줍니다. 이 튜토리얼은 Matplotlib 과 그 개념에 대한 기본적인 이해를 가지고 있다고 가정합니다.
VM 팁
VM 시작이 완료되면, 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접근하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.
학습 중 문제가 발생하면 Labby 에게 자유롭게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.
간단한 플롯 생성
시작하기 위해, pyplot의 plot 함수를 사용하여 간단한 플롯을 생성해 보겠습니다. 이 예제에서는 y 값 [1, 2, 3, 4]를 가진 선 그래프를 플롯합니다.
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')
plt.show()
설명:
matplotlib에서pyplot모듈을 가져와plt로 별칭을 지정합니다.plot함수는 선 그래프를 생성하는 데 사용됩니다. y 값의 단일 리스트를 제공하면, Python 범위가 0 부터 시작하므로 x 값은 자동으로[0, 1, 2, 3]으로 생성됩니다.ylabel함수는 y 축의 레이블을 설정합니다.- 마지막으로,
show함수는 플롯을 표시합니다.
플롯 스타일 서식 지정
다음으로, 플롯의 스타일을 사용자 정의해 보겠습니다. plot 함수의 선택적 세 번째 인수를 사용하여 플롯의 색상과 선 유형을 나타내는 형식 문자열 (format string) 을 지정할 수 있습니다. 예를 들어, 동일한 선 그래프를 빨간색 원으로 플롯해 보겠습니다.
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
설명:
- 형식 문자열
'ro'를 사용하여 플롯에 빨간색 원을 지정합니다. axis함수는 축의 뷰포트 (viewport) 를 설정하는 데 사용되며, x 축과 y 축의 값 범위를 지정합니다.
여러 개의 선 플롯
배열을 사용하여 하나의 함수 호출에서 서로 다른 스타일의 여러 선을 플롯할 수도 있습니다. 세 개의 선을 플롯해 보겠습니다: 점선 빨간색 선, 파란색 사각형, 녹색 삼각형:
import numpy as np
t = np.arange(0., 5., 0.2)
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
plt.show()
설명:
numpy모듈을 사용하여 균등하게 샘플링된 시간 값으로 배열t를 생성합니다.plot함수는 세 쌍의x및y값과 형식 문자열'r--'(점선 빨간색 선),'bs'(파란색 사각형), 및'g^'(녹색 삼각형) 과 함께 호출됩니다.
범주형 변수를 사용한 플롯
Matplotlib 을 사용하면 범주형 변수를 사용하여 플롯을 생성할 수 있습니다. 범주형 변수를 사용하여 막대 그래프, 산점도, 선 그래프를 만들어 보겠습니다.
names = ['group_a', 'group_b', 'group_c']
values = [1, 10, 100]
plt.figure(figsize=(9, 3))
plt.subplot(131)
plt.bar(names, values)
plt.subplot(132)
plt.scatter(names, values)
plt.subplot(133)
plt.plot(names, values)
plt.suptitle('Categorical Plotting')
plt.show()
설명:
- 세 개의 범주형 값을 가진 리스트
names와 해당 값을 나타내는 리스트values를 생성합니다. figure함수는 지정된 크기의 새 figure 를 생성하기 위해 호출됩니다.subplot함수를 사용하여 서브플롯 (subplot) 의 그리드를 생성합니다. 이 예제에서는 막대 그래프, 산점도, 선 그래프와 같이 각기 다른 유형의 플롯을 가진 세 개의 서브플롯을 생성합니다.suptitle함수는 figure 의 상위 제목을 설정하는 데 사용됩니다.
선 속성 사용자 정의
Matplotlib 을 사용하면 선 너비, 대시 스타일, 색상과 같은 다양한 선 속성을 사용자 정의할 수 있습니다. 선 속성을 설정하는 몇 가지 방법을 시연해 보겠습니다.
x = np.arange(0, 5, 0.1)
line, = plt.plot(x, np.sin(x), '-')
## Using the Line2D instance's setter method
line.set_linewidth(2.0) ## Set the linewidth property of the line to 2.0
## Using the pyplot.setp function
plt.setp(line, color='r', linewidth=2.0) ## Set the color and linewidth properties using the setp function
plt.show()
설명:
- 배열
x를 생성하고np.sin함수를 사용하여 해당 y 값을 계산합니다. plot함수는 선 그래프를 생성하기 위해 호출됩니다.Line2D인스턴스의set메서드를 사용하여 선의 선 너비 속성을 2.0 으로 설정합니다.- 또는,
setp함수를 사용하여 키워드 인수를 통해 색상 및 선 너비와 같은 선의 여러 속성을 설정할 수 있습니다.
요약
이 튜토리얼에서는 Matplotlib 의 pyplot 인터페이스를 사용하여 플롯을 생성하고 사용자 정의하는 방법을 배웠습니다. 간단한 플롯 생성, 플롯 스타일 서식 지정, 여러 선 플롯, 범주형 변수 사용, 선 속성 사용자 정의를 다루었습니다. 이러한 기능을 활용하여 데이터를 효과적으로 시각화하기 위한 다양한 유형의 플롯을 만들 수 있습니다.