Matplotlib: Difference between revisions

Content deleted Content added
rm big tag
m Reverted edits by 223.178.87.68 (talk) (HG) (3.4.13)
 
(4 intermediate revisions by 2 users not shown)
Line 29:
Matplotlib was originally written by [[John D. Hunter]]. Since then it has had an active development community<ref>{{cite web |url=https://matplotlib.org/users/github_stats.html |title=Matplotlib github stats |publisher=matplotlib.org }}</ref> and is distributed under a [[BSD licenses|BSD-style license]]. Michael Droettboom was nominated as matplotlib's lead developer shortly before John Hunter's death in August 2012<ref>{{cite web |url=http://matplotlib.1069221.n5.nabble.com/ANN-Michael-Droettboom-matplotlib-lead-developer-td5037.html |title=Announcing Michael Droettboom as the lead Matplotlib developer |publisher=matplotlib.org |access-date=2013-04-24 |archive-date=2020-10-27 |archive-url=https://web.archive.org/web/20201027122844/http://matplotlib.1069221.n5.nabble.com/ANN-Michael-Droettboom-matplotlib-lead-developer-td5037.html |url-status=dead }}</ref> and was further joined by Thomas Caswell.<ref>{{Cite news|url=https://www.numfocus.org/blog/matplotlib-lead-developer-explains-why-he-cant-fix-the-docs-but-you-can|title=Matplotlib Lead Developer Explains Why He Can't Fix the Docs—But You Can – NumFOCUS|date=2017-10-05|work=NumFOCUS|access-date=2018-04-11|language=en-US}}</ref><ref>{{Cite web|url=https://matplotlib.org/users/credits.html|title=Credits – Matplotlib 2.2.2 documentation|website=matplotlib.org|access-date=2018-04-11}}</ref> Matplotlib is a [[NumFOCUS]] fiscally sponsored project.<ref>{{cite web|title=NumFOCUS Sponsored Projects|url=https://numfocus.org/sponsored-projects|publisher=NumFOCUS|access-date=2021-10-25}}</ref>
 
== Usage in Scientific Research and Education ==
 
Matplotlib is widely used in scientific research as a tool for data visualization. Researchers across disciplines such as physics, astronomy, engineering, and biology use Matplotlib to create publication-quality graphs and plots for their analyses and papers. The library has been used in well-known scientific projects; forFor example, the [[Event Horizon Telescope]] collaboration used Matplotlib to produce visualizations during the effort to create the first image of a black hole.<ref name="NumPyBlackHole">{{cite web |title=Case Study: First Image of a Black Hole |url=https://numpy.org/case-studies/blackhole-image/ |website=NumPy |access-date=22 April 2025}}</ref> Matplotlib also underpins the plotting functionality of many scientific [[Python (programming language)|Python]] libraries (for instance, [[pandas (software)|pandas]] uses Matplotlib as its default backend for plotting). Its importance to the scientific community has been acknowledged by institutions such as [[NASA]], which in 2024 awarded a grant to support Matplotlib’s continued development as part of an initiative to fund widely used open-source scientific software.<ref name="NASAOpenSource">{{cite web |title=NASA Funds Open-Source Software Underpinning Scientific Innovation |url=https://www.nasa.gov/news-release/nasa-funds-open-source-software-underpinning-scientific-innovation/ |website=NASA |access-date=22 April 2025}}</ref>
 
[[File:Matplotlib in jupyter notebook.png|thumb|258x258px|A scatter plot created in Jupyter Notebook using Matplotlib]]
 
In education and data science, Matplotlib is frequently used to teach programming and data visualization. It integrates with [[Jupyter Notebook]], allowing students and instructors to generate inline plots and interactively explore data within a notebook environment.<ref name="JupyterNature">{{cite news |title=Interactive notebooks: Sharing the code |url=https://www.nature.com/articles/d41586-018-07196-1 |work=Nature |date=18 September 2018 |access-date=22 April 2025}}</ref> Many educational institutions incorporate Matplotlib into their curricula for teaching STEM concepts,<ref name="MatplotlibTutorial">{{cite web |title=Pyplot tutorial |url=https://matplotlib.org/stable/tutorials/introductory/pyplot.html |website=Matplotlib |access-date=22 April 2025}}</ref> and it is widely featured in tutorials, workshops, and open online courses as a primary plotting library. This broad adoption across both academia and industry has helped establish Matplotlib as a standard component of scientific and educational visualization workflows.
 
==Comparison with MATLAB==
Pyplot is a Matplotlib module that provides a MATLAB-like interface.<ref>{{Cite web|url=https://matplotlib.org/index.html|title=Matplotlib: Python plotting — Matplotlib 3.2.0 documentation|website=matplotlib.org|access-date=2020-03-14}}</ref> Matplotlib is designed to be as usable as MATLAB, with the ability to use Python, and the advantage of being free and [[Open source|open-source]].
 
==Animations==
Matplotlib-animation<ref>{{cite web|url=https://matplotlib.org/stable/users/explain/animations/animations.html|title=Animations using Matplotlib|publisher=matplotlib.org|accessdate=30 Aug 2024}}</ref> capabilities are intended for visualizing how certain data changes. However, one can use the functionality in any way required.
 
These animations are defined as a function of frame number (or time). In other words, one defines a function that takes a frame number as input and defines/updates the matplotlib-figure based on it.
 
<blockquote> The time at the beginning of a frame-number since the start of animation can be calculated as - <math>\text{time} = \frac{\text{frame-number}-1}{\text{FPS}}</math></blockquote>
 
==Related projects==