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를 지원하지 않을 것을 약속했다.
![]() Matplotlib 플롯 및 코드의 스크린샷 | |
원저자 | John D. Hunter |
---|---|
개발자 | Michael Droettboom 등 |
발표일 | 2003년(21년 전)(2003)[1] |
안정화 버전 | 3.9.1[2] / 2024년 7월 4일 (28일 전) |
저장소 |
|
프로그래밍 언어 | 파이썬 |
엔진 |
![]() |
운영 체제 | 크로스 플랫폼 |
종류 | 플로팅 |
라이선스 | Matplotlib 라이선스 |
웹사이트 | matplotlib |
예시
라인 플롯
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/13/Matplotlib_basic_v.svg/220px-Matplotlib_basic_v.svg.png)
>>> 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()
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/13/Matplotlib_histogram_v.svg/220px-Matplotlib_histogram_v.svg.png)
>>> import matplotlib.pyplot as plt >>> from numpy.random import normal,rand >>> x = normal(size=200) >>> plt.hist(x, bins=30) >>> plt.show()
![](http://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Matplotlib_scatter_v.svg/220px-Matplotlib_scatter_v.svg.png)
>>> import matplotlib.pyplot as plt >>> from numpy.random import rand >>> a = rand(100) >>> b = rand(100) >>> plt.scatter(a, b) >>> plt.show()
3D 플롯
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Matplotlib_3d_v.svg/220px-Matplotlib_3d_v.svg.png)
>>> 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()
더 많은 예제
- Image plot
- Contour plot
- Scatter plot
- Polar plot
- Line plot
- 3-D plot
- Image plot
같이 보기
- NumPy
- Pandas
- SciPy
- 매트랩
각주
외부 링크
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)
- Matplotlib
- 공식 웹사이트