Matplotlib

Matplotlib는 Python 프로그래밍 언어 및 수학적 확장 NumPy 라이브러리를 활용한 플로팅 라이브러리이다. Tkinter , wxPython , Qt 또는 GTK 와 같은 범용 GUI 툴킷을 사용하여 애플리케이션에 플롯을 포함 하기 위한 객체 지향 API를 제공한다. Matplotlib은 매트랩과 유사하게 설계된 상태기계(예: OpenGL )을 기반으로 하는 절차적 "pylab" 인터페이스도 있지만 사용은 권장되지 않는다.   SciPy는 Matplotlib을 활용한다.

Matplotlib은 원래 John D. Hunter가 작성했다. 그 이후로 활발한 개발 커뮤니티가 생성되었으며, BSD 스타일 라이선스 하에 배포된다. Michael Droettboom은 2012년 8월 John Hunter가 사망하기 직전에 matplotlib의 수석 개발자로 지명되었으며  Thomas Caswell이 추가로 합류했다.  Matplotlib는 NumFOCUS 재정 후원 프로젝트이다.

Matplotlib 2.0.x는 Python 버전 2.7~3.10을 지원한다. Python 3 지원은 Matplotlib 1.2부터 시작되었다. Matplotlib 1.4는 Python 2.6을 지원하는 마지막 버전이다. Matplotlib는 Python 3 선언문에 서명하여 2020년 이후 Python 2를 지원하지 않을 것을 약속했다.

예시 
라인 플롯

>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> a = np.linspace(0, 10, 100)
>>> b = np.exp(-a)
>>> plt.plot(a, b)
>>> plt.show()

히스토그램

>>> import matplotlib.pyplot as plt
>>> from numpy.random import normal,rand
>>> x = normal(size=200)
>>> plt.hist(x, bins=30)
>>> plt.show()

산점도

>>> import matplotlib.pyplot as plt
>>> from numpy.random import rand
>>> a = rand(100)
>>> b = rand(100)
>>> plt.scatter(a, b)
>>> plt.show()

3D 플롯

>>> from matplotlib import cm
>>> from mpl_toolkits.mplot3d import Axes3D
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> fig = plt.figure()
>>> ax = fig.gca(projection='3d')
>>> X = np.arange(-5, 5, 0.25)
>>> Y = np.arange(-5, 5, 0.25)
>>> X, Y = np.meshgrid(X, Y)
>>> R = np.sqrt(X**2 + Y**2)
>>> Z = np.sin(R)
>>> surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm)
>>> plt.show()
더 많은 예제

같이 보기 
 NumPy
 Pandas
 SciPy
 매트랩

각주

외부 링크 

 

파이썬 라이브러리
파이썬으로 작성된 자유 소프트웨어