Matplotlib
Пример работы matplotlib | |
Тип |
библиотека языка Python |
---|---|
Разработчик |
John Hunter |
Лицензия |
[matplotlib.sourceforge.net/users/license.html matplotlib licence] |
Matplotlib — библиотека на языке программирования Python для визуализации данных двумерной (2D) графикой (3D графика также поддерживается). Получаемые изображения могут быть использованы в качестве иллюстраций в публикациях[1].
Matplotlib написан и поддерживался в основном Джоном Хантером (англ. John Hunter) и распространяется на условиях BSD-подобной лицензии. Генерируемые в различных форматах изображения могут быть использованы в интерактивной графике, в научных публикациях, графическом интерфейсе пользователя, веб-приложениях, где требуется построение диаграмм (англ. plotting)[2][3]. В документации автор признаётся, что Matplotlib начинался с подражания графическим командам MATLAB, но является независимым от него проектом[4].
Версия 1.2.0 — последняя стабильная — требует Python версии от 2.6 и выше и версию NumPy от 1.4 и выше[5].
Библиотека Matplotlib построена на принципах ООП, но имеет процедурный интерфейс pylab
, который предоставляет аналоги команд MATLAB[6].
Возможности
Matplotlib является гибким, легко конфигурируемым пакетом, который вместе с NumPy, SciPy и IPython предоставляет возможности, подобные MATLAB. В настоящее время пакет работает с несколькими графическими библиотеками, включая wxWindows и PyGTK.
Пакет поддерживает многие виды графиков и диаграмм:
- Графики (line plot)
- Диаграммы разброса (scatter plot)
- Столбчатые диаграммы (bar chart) и гистограммы (histogram)
- Круговые диаграммы (pie chart)
- Ствол-лист диаграммы (stem plot)
- Контурные графики (contour plot)
- Поля градиентов (quiver)
- Спектральные диаграммы (spectrogram)
Пользователь может указать оси координат, решетку, добавить надписи и пояснения, использовать логарифмическую шкалу или полярные координаты[7].
Несложные трёхмерные графики можно строить с помощью набора инструментов (toolkit) mplot3d. Есть и другие наборы инструментов: для картографии, для работы с Excel, утилиты для GTK и другие[8].
С помощью Matplotlib можно делать и анимированные изображения[9].
Набор поддерживаемых форматов изображений, векторных и растровых, можно получить из словаря FigureCanvasBase.filetypes
. Типичные поддерживаемые форматы:
- Encapsulated PostScript (EPS)
- Enhanced Metafile (EMF)
- JPEG
- PNG
- Postscript
- RGBA («сырой» формат)
- SVG
- SVGZ
- TIFF
Кроме того, на основе классов пакета можно создавать и другие модули. Например, для генерации искрографиков[10].
Пример
Следующий пример иллюстрирует построение графика[1]:
from pylab import *
plot(range(1, 20),
[i * i for i in range(1, 20)], 'ro')
savefig('example.png')
show()
Результат работы примера в формате PNG:
Галерея графиков
- QBO Cycle observed.svg
- Weight Growth of RN First Rate Line-of-Battle Ships 1630-1875.svg
- Logarithmic Spiral Pylab.svg
- Temp-sunspot-co2.svg
- Rosenbrock function.svg
Напишите отзыв о статье "Matplotlib"
Примечания
- ↑ 1 2 Segaran, 2007.
- ↑ Tosi, 2009.
- ↑ [pypi.python.org/pypi/matplotlib/ Запись о matplotlib] (англ.) на PyPI
- ↑ matplotlib.sourceforge.net/users/intro.html Введение из документации по библиотеке
- ↑ [matplotlib.sourceforge.net/users/installing.html Требования для инсталляции]
- ↑ Экран помощи по пакету pylab можно интерактивно вызвать командами
import pylab; help(pylab)
- ↑ Vaingast, 2009, pp. 183-220.
- ↑ [matplotlib.sourceforge.net/mpl_toolkits/mplot3d/index.html mplot3d]
- ↑ [matplotlib.sourceforge.net/api/animation_api.html Animation API]
- ↑ Grig Gheorghiu. [agiletesting.blogspot.co.uk/2005/04/sparkplot-creating-sparklines-with.html sparkplot: creating sparklines with matplotlib] (23 April, 2005). [www.webcitation.org/6A1RWuHCB Архивировано из первоисточника 19 августа 2012].
Литература
- Toby Segaran. Programming Collective Intelligence: Building Smart Web 2.0 Applications. — O'Reilly Media, Inc., 2007. — 308 с. — ISBN 9780596529321. Имеется перевод: Тоби Сегаран. Программируем коллективный разум. — Символ-Плюс, 2009. — 368 с. — ISBN 5-93286-119-3.
- Sandro Tosi. Matplotlib for Python Developers. — Packt Publishing, 2009. — 308 с. — ISBN 978-1847197900.
- Shai Vaingast. Beginning Python Visualization: Crafting Visual Transformation Scripts. — Springer, 2009. — 384 с. — ISBN 9781430218432.
Ссылки
- [matplotlib.sourceforge.net/ Домашняя страница Matplotlib] (англ.)
- [www.scipy.org/Cookbook/Matplotlib/ «Поваренная книга» Matplotlib] (англ.)
- [videolectures.net/mloss08_hunter_mat/ Видеолекция Джона Д.Хантера (John D. Hunter)] (англ.)
- [jenyay.net/Matplotlib/Matplotlib Серия статей про использование Matplotlib] (рус.)
|
|
Отрывок, характеризующий Matplotlib
Пьер хорошо знал эту большую, разделенную колоннами и аркой комнату, всю обитую персидскими коврами. Часть комнаты за колоннами, где с одной стороны стояла высокая красного дерева кровать, под шелковыми занавесами, а с другой – огромный киот с образами, была красно и ярко освещена, как бывают освещены церкви во время вечерней службы. Под освещенными ризами киота стояло длинное вольтеровское кресло, и на кресле, обложенном вверху снежно белыми, не смятыми, видимо, только – что перемененными подушками, укрытая до пояса ярко зеленым одеялом, лежала знакомая Пьеру величественная фигура его отца, графа Безухого, с тою же седою гривой волос, напоминавших льва, над широким лбом и с теми же характерно благородными крупными морщинами на красивом красно желтом лице. Он лежал прямо под образами; обе толстые, большие руки его были выпростаны из под одеяла и лежали на нем. В правую руку, лежавшую ладонью книзу, между большим и указательным пальцами вставлена была восковая свеча, которую, нагибаясь из за кресла, придерживал в ней старый слуга. Над креслом стояли духовные лица в своих величественных блестящих одеждах, с выпростанными на них длинными волосами, с зажженными свечами в руках, и медленно торжественно служили. Немного позади их стояли две младшие княжны, с платком в руках и у глаз, и впереди их старшая, Катишь, с злобным и решительным видом, ни на мгновение не спуская глаз с икон, как будто говорила всем, что не отвечает за себя, если оглянется. Анна Михайловна, с кроткою печалью и всепрощением на лице, и неизвестная дама стояли у двери. Князь Василий стоял с другой стороны двери, близко к креслу, за резным бархатным стулом, который он поворотил к себе спинкой, и, облокотив на нее левую руку со свечой, крестился правою, каждый раз поднимая глаза кверху, когда приставлял персты ко лбу. Лицо его выражало спокойную набожность и преданность воле Божией. «Ежели вы не понимаете этих чувств, то тем хуже для вас», казалось, говорило его лицо.
Сзади его стоял адъютант, доктора и мужская прислуга; как бы в церкви, мужчины и женщины разделились. Всё молчало, крестилось, только слышны были церковное чтение, сдержанное, густое басовое пение и в минуты молчания перестановка ног и вздохи. Анна Михайловна, с тем значительным видом, который показывал, что она знает, что делает, перешла через всю комнату к Пьеру и подала ему свечу. Он зажег ее и, развлеченный наблюдениями над окружающими, стал креститься тою же рукой, в которой была свеча.
Младшая, румяная и смешливая княжна Софи, с родинкою, смотрела на него. Она улыбнулась, спрятала свое лицо в платок и долго не открывала его; но, посмотрев на Пьера, опять засмеялась. Она, видимо, чувствовала себя не в силах глядеть на него без смеха, но не могла удержаться, чтобы не смотреть на него, и во избежание искушений тихо перешла за колонну. В середине службы голоса духовенства вдруг замолкли; духовные лица шопотом сказали что то друг другу; старый слуга, державший руку графа, поднялся и обратился к дамам. Анна Михайловна выступила вперед и, нагнувшись над больным, из за спины пальцем поманила к себе Лоррена. Француз доктор, – стоявший без зажженной свечи, прислонившись к колонне, в той почтительной позе иностранца, которая показывает, что, несмотря на различие веры, он понимает всю важность совершающегося обряда и даже одобряет его, – неслышными шагами человека во всей силе возраста подошел к больному, взял своими белыми тонкими пальцами его свободную руку с зеленого одеяла и, отвернувшись, стал щупать пульс и задумался. Больному дали чего то выпить, зашевелились около него, потом опять расступились по местам, и богослужение возобновилось. Во время этого перерыва Пьер заметил, что князь Василий вышел из за своей спинки стула и, с тем же видом, который показывал, что он знает, что делает, и что тем хуже для других, ежели они не понимают его, не подошел к больному, а, пройдя мимо его, присоединился к старшей княжне и с нею вместе направился в глубь спальни, к высокой кровати под шелковыми занавесами. От кровати и князь и княжна оба скрылись в заднюю дверь, но перед концом службы один за другим возвратились на свои места. Пьер обратил на это обстоятельство не более внимания, как и на все другие, раз навсегда решив в своем уме, что всё, что совершалось перед ним нынешний вечер, было так необходимо нужно.
Звуки церковного пения прекратились, и послышался голос духовного лица, которое почтительно поздравляло больного с принятием таинства. Больной лежал всё так же безжизненно и неподвижно. Вокруг него всё зашевелилось, послышались шаги и шопоты, из которых шопот Анны Михайловны выдавался резче всех.