Matplotlib-객체 지향 인터페이스
빠르게 플롯을 생성하는 것은 쉽지만 matplotlib.pyplot모듈을 사용하는 경우 플롯을 더 많이 제어하고 사용자 정의 할 수 있으므로 객체 지향 접근 방식을 사용하는 것이 좋습니다. 대부분의 기능은 matplotlib.axes.Axes 수업.
보다 형식적인 객체 지향 메서드를 사용하는 기본 아이디어는 Figure 객체를 만든 다음 해당 객체에서 메서드 나 속성을 호출하는 것입니다. 이 접근 방식은 여러 플롯이있는 캔버스를 더 잘 처리하는 데 도움이됩니다.
객체 지향 인터페이스에서 Pyplot은 Figure 생성과 같은 몇 가지 기능에만 사용되며 사용자는 Figure 및 axes 객체를 명시 적으로 생성하고 추적합니다. 이 수준에서 사용자는 Pyplot을 사용하여 그림을 만들고 해당 그림을 통해 하나 이상의 axes 객체를 만들 수 있습니다. 이러한 좌표축 객체는 대부분의 플로팅 작업에 사용됩니다.
우선 빈 캔버스를 제공하는 Figure 인스턴스를 만듭니다.
fig = plt.figure()
이제 Figure에 축을 추가합니다. 그만큼add_axes()메서드는 그림의 왼쪽, 아래쪽, 너비 및 높이에 해당하는 4 개 요소의 목록 개체가 필요합니다. 각 숫자는 0과 1 사이 여야합니다.
ax=fig.add_axes([0,0,1,1])
x 및 y 축과 제목에 대한 레이블 설정-
ax.set_title("sine wave")
ax.set_xlabel('angle')
ax.set_ylabel('sine')
axes 객체의 plot () 메서드를 호출합니다.
ax.plot(x,y)
Jupyter 노트북을 사용하는 경우 % matplotlib 인라인 지시문을 발행해야합니다. pyplot 모듈의 otherwistshow () 함수는 플롯을 표시합니다.
다음 코드 실행 고려-
from matplotlib import pyplot as plt
import numpy as np
import math
x = np.arange(0, math.pi*2, 0.05)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.plot(x,y)
ax.set_title("sine wave")
ax.set_xlabel('angle')
ax.set_ylabel('sine')
plt.show()
산출
위의 코드 줄은 다음 출력을 생성합니다.
Jupyter 노트북에서 실행할 때 동일한 코드는 아래와 같이 출력을 표시합니다.