MatplotlibPython 프로그래밍 언어 및 수학적 확장 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를 지원하지 않을 것을 약속했다.

Matplotlib
원저자John D. Hunter
개발자Michael Droettboom 등
발표일2003년(21년 전)(2003)[1]
안정화 버전
3.8.4[2] / 2024년 4월 4일 (27일 전)
저장소
프로그래밍 언어파이썬
엔진
  • 카이로
위키데이터에서 편집하기
운영 체제크로스 플랫폼
종류플로팅
라이선스Matplotlib 라이선스
웹사이트matplotlib.org

예시 편집

라인 플롯

 
>>> 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()

더 많은 예제

같이 보기 편집

각주 편집

  1. “Copyright Policy”. 
  2. “Release 3.8.4”. 2024년 4월 4일. 2024년 4월 23일에 확인함. 

외부 링크 편집