파이썬 Matplotlib #

일부 사람들은 Matplotlib에 대한 암시적 pyplot 인터페이스를 사용하는 것보다 더 많은 "Pythonic", 명시적 객체 지향 코드를 작성하는 것을 선호합니다. 이 예제는 명시적인 Matplotlib 인터페이스를 활용하는 방법을 보여줍니다.

응용 프로그램 개발자가 아니라면 pyplot 인터페이스의 일부, 특히 figure, close, subplot, axes 및 show 명령을 사용하는 것이 좋습니다. 이는 DPI 인스턴스 인스턴스화, 그림 요소의 경계 상자 관리, GUI 창 생성 및 구현, 그림 포함과 같은 일반적인 그림 생성에서 볼 필요가 없는 많은 복잡성을 숨깁니다.

응용 프로그램 개발자이고 응용 프로그램에 Matplotlib를 포함하려는 경우 examples/embedding_in_wx.py, examples/embedding_in_gtk.py 또는 examples/embedding_in_tk.py의 리드를 따르십시오. 이 경우 응용 프로그램 창에 포함하는 등의 모든 그림 생성을 제어할 수 있습니다.

웹 애플리케이션 개발자인 경우 pyplot에 있는 전역(현재 그림, 현재 축) 없이 백엔드 agg 그림 캔버스를 직접 사용하는 방법을 보여주는 webapp_demo.py의 예제를 사용할 수 있습니다. 상호 작용. 그러나 pyplot 인터페이스가 웹 애플리케이션 개발자에게 작동하지 않는 이유는 없습니다.

pyplot 인터페이스로 작성된 examples dir에서 예제를 보고 실제 Python 메서드 호출을 사용하여 이를 에뮬레이트하려는 경우 쉬운 매핑이 있습니다. 이러한 예제 중 다수는 'set'을 사용하여 Figure 속성을 제어합니다. 이러한 명령을 인스턴스 메서드에 매핑하는 방법은 다음과 같습니다.

집합 구문은 다음과 같습니다.

plt.setp(object or sequence, somestring, attribute)

개체와 함께 호출되는 경우 호출을 설정합니다.

object.set_somestring(attribute)

시퀀스와 함께 호출되면 set은 다음을 수행합니다.

for object in sequence:
   object.set_somestring(attribute)

예를 들어 a가 축 개체인 경우 다음을 수행할 수 있습니다.

a.set_xticklabels([])
a.set_yticklabels([])
a.set_xticks([])
a.set_yticks([])
사인파 한두 개
import matplotlib.pyplot as plt
import numpy as np

t = np.arange(0.0, 1.0, 0.01)

fig, (ax1, ax2) = plt.subplots(2)

ax1.plot(t, np.sin(2*np.pi * t))
ax1.grid(True)
ax1.set_ylim((-2, 2))
ax1.set_ylabel('1 Hz')
ax1.set_title('A sine wave or two')

ax1.xaxis.set_tick_params(labelcolor='r')

ax2.plot(t, np.sin(2 * 2*np.pi * t))
ax2.grid(True)
ax2.set_ylim((-2, 2))
l = ax2.set_xlabel('Hi mom')
l.set_color('g')
l.set_fontsize('large')

plt.show()

Sphinx-Gallery에서 생성한 갤러리