{{위키데이터 속성 추적}}
'''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를 지원하지 않을 것을 약속했다.{{소프트웨어 정보
| name = Matplotlib
| logo = 
| logo size = 300px
| screenshot = File:Mpl screenshot figures and code.png
| caption = Matplotlib 플롯 및 코드의 스크린샷
| collapsible = 
| author = [[John D. Hunter]]
| developer = Michael Droettboom 등
| released = {{시작 날짜와 나이|df=yes|2003}}<ref>{{웹 인용|url=http://matplotlib.org/users/license.html#copyright-policy | title=Copyright Policy}}</ref>
| latest release version = {{wikidata|property|reference|P348}}
| latest release date = {{wikidata|qualifier|P348|P577}} ({{Time ago| {{wikidata|qualifier|raw|P348|P577}} }})
| latest preview version = 
| latest preview date = 
| discontinued = 
| programming language = [[파이썬]]
| operating system = [[크로스 플랫폼]]
| platform = 
| size = 
| language = 
| genre = [[그래프 소프트웨어 목록|플로팅]]
| license = [https://matplotlib.org/users/license.html Matplotlib 라이선스]
| website = {{URL|//matplotlib.org}}
}}

== 예시 ==
'''라인 플롯'''
[[파일:Matplotlib basic v.svg|섬네일]]
<syntaxhighlight lang="numpy">
>>> 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()
</syntaxhighlight>
{{clear}}
'''[[히스토그램]]'''
[[파일:Matplotlib histogram v.svg|섬네일]]
<syntaxhighlight lang="numpy">
>>> import matplotlib.pyplot as plt
>>> from numpy.random import normal,rand
>>> x = normal(size=200)
>>> plt.hist(x, bins=30)
>>> plt.show()
</syntaxhighlight>
{{clear}}
'''[[산점도]]'''
[[파일:Matplotlib scatter v.svg|섬네일]]
<syntaxhighlight lang="numpy">
>>> import matplotlib.pyplot as plt
>>> from numpy.random import rand
>>> a = rand(100)
>>> b = rand(100)
>>> plt.scatter(a, b)
>>> plt.show()
</syntaxhighlight>
{{clear}}
'''3D 플롯'''
[[파일:Matplotlib 3d v.svg|섬네일]]
<syntaxhighlight lang="numpy">
>>> 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()
</syntaxhighlight>
'''더 많은 예제'''
<gallery>
파일:Mpl example qbo.svg|Image plot
파일:Mpl example Helmoltz coils.svg|Contour plot
파일:Weight Growth of RN First Rate Line-of-Battle Ships 1630-1875.svg|Scatter plot
파일:Logarithmic Spiral Pylab.svg|Polar plot
파일:Temp-sunspot-co2.svg|Line plot
파일:Mpl example Rosenbrock function.svg|3-D plot
파일:Mandelbrot set, plotted with Matplotlib.svg|Image plot
</gallery>

== 같이 보기 ==
* [[NumPy]]
* [[Pandas]]
* [[SciPy]]
* [[매트랩]]

== 각주 ==
{{각주}}

== 외부 링크 ==
{{위키공용분류}}
* {{공식 웹사이트}}

[[분류:파이썬 라이브러리]]
[[분류:파이썬으로 작성된 자유 소프트웨어]]