Installation¶
Installing an official release¶
Matplotlib releases are available as wheel packages for macOS, Windows and Linux on PyPI. Install it using pip :
The following backends work out of the box: Agg, ps, pdf, svg
Python is typically shipped with tk bindings which are used by TkAgg.
Third-party distributions¶
Various third-parties provide Matplotlib for their environments.
Conda packages¶
Matplotlib is available both via the anaconda main channel
as well as via the conda-forge community channel
Python distributions¶
Matplotlib is part of major Python distributions:
Linux package manager¶
If you are using the Python version that comes with your Linux distribution, you can install Matplotlib via your package manager, e.g.:
Debian / Ubuntu: sudo apt-get install python3-matplotlib
Fedora: sudo dnf install python3-matplotlib
Red Hat: sudo yum install python3-matplotlib
Installing from source¶
If you are interested in contributing to Matplotlib development, running the latest source code, or just like to build everything yourself, it is not difficult to build Matplotlib from source.
The easiest way to get the latest development version to start contributing is to go to the git repository and run:
If you’re developing, it’s better to do it in editable mode. The reason why is that pytest’s test discovery only works for Matplotlib if installation is done this way. Also, editable mode allows your code changes to be instantly propagated to your library code without reinstalling (though you will have to restart your python process / kernel):
If you’re not developing, it can be installed from the source directory with a simple (just replace the last step):
To run the tests you will need to install some additional dependencies:
Then, if you want to update your Matplotlib at any time, just do:
There is more information on using git in the developer docs.
The following instructions in this section are for very custom installations of Matplotlib. Proceed with caution because these instructions may result in your build producing unexpected behavior and/or causing local testing to fail.
If you would like to build from a tarball, grab the latest tar.gz release file from the PyPI files page.
We provide a mplsetup.cfg file which you can use to customize the build process. For example, which default backend to use, whether some of the optional libraries that Matplotlib ships with are installed, and so on. This file will be particularly useful to those packaging Matplotlib.
If you are building your own Matplotlib wheels (or sdists) on Windows, note that any DLLs that you copy into the source tree will be packaged too.
Installing for development¶
Frequently asked questions¶
Report a compilation problem¶
Matplotlib compiled fine, but nothing shows up when I use it¶
The first thing to try is a clean install and see if that helps. If not, the best way to test your install is by running a script, rather than working interactively from a python shell or an integrated development environment such as IDLE which add additional complexities. Open up a UNIX shell or a DOS command prompt and run, for example:
This will give you additional information about which backends Matplotlib is loading, version information, and more. At this point you might want to make sure you understand Matplotlib’s configuration process, governed by the matplotlibrc configuration file which contains instructions within and the concept of the Matplotlib backend.
How to completely remove Matplotlib¶
Occasionally, problems with Matplotlib can be solved with a clean installation of the package. In order to fully remove an installed Matplotlib:
OSX Notes¶
Which python for OSX?¶
Other options for a fresh Python install are the standard installer from python.org, or installing Python using a general OSX package management system such as homebrew or macports. Power users on OSX will likely want one of homebrew or macports on their system to install open source software packages, but it is perfectly possible to use these systems with another source for your Python binary, such as Anaconda or Python.org Python.
Installing OSX binary wheels¶
If you are using Python from https://www.python.org, Homebrew, or Macports, then you can use the standard pip installer to install Matplotlib binaries in the form of wheels.
pip is installed by default with python.org and Homebrew Python, but needs to be manually installed on Macports with
Once pip is installed, you can install Matplotlib and all its dependencies with from the Terminal.app command line:
Checking your installation¶
The new version of Matplotlib should now be on your Python «path». Check this at the Terminal.app command line:
You should see something like
where 3.0.0 is the Matplotlib version you just installed, and the path following depends on whether you are using Python.org Python, Homebrew or Macports. If you see another version, or you get an error like
then check that the Python binary is the one you expected by running
Как установить библиотеку matplotlib в Python для построения графиков
Matplotlib – это библиотека Python с открытым исходным кодом, которая используется для построения графиков. Первоначально matplotlib был задуман Джоном Д. Хантером в 2002 году. Версия была выпущена в 2003 году, а последняя версия 3.1.1 выпущена 1 июля 2019 года.
Представляет данные в графической форме. Графическая форма может быть точечной диаграммой, гистограммой, столбчатой, диаграммой области, круговой диаграммой и т. д. Библиотека matplotlib обычно используется для визуализации данных. Визуализация данных позволяет нам принять эффективное решение для организации.
Рассмотрим как установить библиотеку matplotlib в Python.
Установка matplotlib
Прежде чем работать с библиотекой matplotlib, нам необходимо установить ее в Python. Давайте рассмотрим следующий метод установки библиотеки matplotlib.
Использование дистрибутива Anaconda для Python
Дистрибутив Anaconda – это самый простой способ установить библиотеку matplotlib, поскольку в него она уже предварительно включена. Так что дальнейшая установка нам не нужна.
Установка Matplotlib с помощью conda
Мы также можем установить matplotlib, используя приглашение conda. Откройте приглашение conda и введите следующую команду.
Использование команды pip
Пакет также можно использовать для установки библиотеки matplotlib. Откройте командную строку, введите следующую команду.
Подтвердите установку
Installing¶
Installing an official release¶
Matplotlib and its dependencies are available as wheel packages for macOS, Windows and Linux distributions:
The following backends work out of the box: Agg, ps, pdf, svg and TkAgg.
Although not required, we suggest also installing IPython for interactive use. To easily install a complete Scientific Python stack, see Scientific Python Distributions below.
Test data¶
The wheels ( *.whl ) on the PyPI download page do not contain test data or example code.
If you want to try the many demos that come in the Matplotlib source distribution, download the *.tar.gz file and look in the examples subdirectory.
To run the test suite:
Third-party distributions of Matplotlib¶
Scientific Python Distributions¶
Anaconda and Canopy and ActiveState are excellent choices that «just work» out of the box for Windows, macOS and common Linux platforms. WinPython is an option for Windows users. All of these distributions include Matplotlib and lots of other useful (data) science tools.
Linux: using your package manager¶
If you are on Linux, you might prefer to use your package manager. Matplotlib is packaged for almost every major Linux distribution.
Installing from source¶
Once you have satisfied the requirements detailed below (mainly Python, NumPy, libpng and FreeType), you can build Matplotlib.
We provide a setup.cfg file which you can use to customize the build process. For example, which default backend to use, whether some of the optional libraries that Matplotlib ships with are installed, and so on. This file will be particularly useful to those packaging Matplotlib.
Dependencies¶
Matplotlib requires the following dependencies:
Optionally, you can also install a number of packages to enable better user interface toolkits. See What is a backend? for more details on the optional Matplotlib backends and the capabilities they provide.
For better support of animation output format and image file formats, LaTeX, etc., you can install the following:
Matplotlib depends on non-Python libraries.
On Linux and OSX, pkg-config can be used to find required non-Python libraries and thus make the install go more smoothly if the libraries and headers are not in the expected locations.
The following libraries are shipped with Matplotlib:
Building on Linux¶
It is easiest to use your system package manager to install the dependencies.
If you are on Debian/Ubuntu, you can get all the dependencies required to build Matplotlib with:
If you are on Fedora, you can get all the dependencies required to build Matplotlib with:
If you are on RedHat, you can get all the dependencies required to build Matplotlib by first installing yum-builddep and then running:
These commands do not build Matplotlib, but instead get and install the build dependencies, which will make building from source easier.
Building on macOS¶
The build situation on macOS is complicated by the various places one can get the libpng and FreeType requirements (MacPorts, Fink, /usr/X11R6), the different architectures (e.g., x86, ppc, universal), and the different macOS versions (e.g., 10.4 and 10.5). We recommend that you build the way we do for the macOS release: get the source from the tarball or the git repository and install the required dependencies through a third-party package manager. Two widely used package managers are Homebrew, and MacPorts. The following example illustrates how to install libpng and FreeType using brew :
If you are using MacPorts, execute the following instead:
After installing the above requirements, install Matplotlib from source by executing:
Note that your environment is somewhat important. Some conda users have found that, to run the tests, their PYTHONPATH must include /path/to/anaconda/. /site-packages and their DYLD_FALLBACK_LIBRARY_PATH must include /path/to/anaconda/lib.
Building on Windows¶
The Python shipped from https://www.python.org is compiled with Visual Studio 2015 for 3.5+. Python extensions should be compiled with the same compiler, see e.g. https://packaging.python.org/guides/packaging-binary-extensions/#setting-up-a-build-environment-on-windows for how to set up a build environment.
Since there is no canonical Windows package manager, the methods for building FreeType, zlib, and libpng from source code are documented as a build script at matplotlib-winbuild.
There are a few possibilities to build Matplotlib on Windows:
Wheel builds using conda packages¶
This is a wheel build, but we use conda packages to get all the requirements. The binary requirements (png, FreeType. ) are statically linked and therefore not needed during the wheel install.
Set up the conda environment. Note, if you want a qt backend, add pyqt to the list of conda packages.
Установка matplotlib и архитектура графиков / plt 1
matplotlib — это библиотека, предназначенная для разработки двумерных графиков (включая 3D-представления). За последнее время она широко распространилась в научных и инженерных кругах (http://matplotlib.org):
Среди всех ее функций особо выделяются следующие:
О Matplotlib
matplotlib спроектирована с целью максимально точно воссоздать среду MATLAB в плане графического интерфейса и синтаксической формы. Этот подход оказался успешным, ведь он позволил задействовать особенности уже проверенного ПО (MATLAB), распространив библиотеку в среду технологий и науки. Более того, она включает тот объем работы по оптимизации, который был проделан за много лет. Результат — простота в использовании, что особенно важно для тех, у кого нет опыта работы в этой сфере.
Помимо простоты библиотека matplotlib также унаследовала от MATLAB интерактивность. Это значит, что специалист можно вставлять команду за командой для постепенной разработки графического представления данных. Этот режим отлично подходит для более интерактивных режимов работы с Python, таких как IPython, QtConsole и Jupyter Notebook, предоставляя среду для анализа данных, где есть все, что можно найти, например в Mathematica, IDL или MATLAB.
Гений создателей этой библиотеки в использовании уже доступных, зарекомендовавших себя инструментов из области науки. И это не ограничивается лишь режимом исполнения MATLAB, но также моделями текстового представления научных выражений и символов LaTeX. Благодаря своим возможностям по представлению научных выражений LaTeX был незаменимым элементом научных публикаций и документаций, в которых требуются такие визуальные репрезентации, как интегралы, объединения и производные. А matplotlib интегрирует этот инструмент для улучшения качества отображения.
Не стоит забывать о том, что matplotlib — это не отдельное приложение, а библиотека такого языка программирования, как Python. Поэтому она на полную использует его возможности. Matplotlib воспринимается как графическая библиотека, позволяющая программными средствами настраивать визуальные элементы, из которых состоят графики, и управлять ими. Способность запрограммировать визуальное представление позволяет управлять воспроизводимостью данных в разных средах особенно при изменениях или обновлениях.
А поскольку matplotlib — это библиотека Python, она позволяет на полную использовать потенциал остальных библиотек языка. Чаще всего работе с анализом данных matplotlib взаимодействует с набором других библиотек, таких как NumPy и pandas, но можно добавлять и другие.
Наконец, графическое представление из этой библиотеки можно экспортировать в самые распространенные графические форматы (PNG и SVG) и затем использовать в других приложениях, документах, в сети и так далее.
Установка
Если его нужно установить прямо, то команды зависят от операционной системы
В системах Debian-Ubuntu:
В macOS или Windows нужно использовать pip
IPython и IPython QtConsole
Для знакомства со всеми инструментами мира Python часто используют IPython из терминала или QtConsole. Все благодаря тому, что IPython позволяет использовать интерактивность улучшенного терминала и интегрировать графику прямо в консоль.
Для запуска сессии IPython нужно использовать следующую команду:
Если же используется Jupyter QtConsole с возможностью отображения графики вместе с командами, то нужна эта:
На экране тут же отобразится новое окно с запущенной сессией IPython.
Однако ничто не мешает использовать стандартную сессию Python. Все примеры дальше будут работать и в таком случае.
Архитектура matplotlib
Одна из основных задач, которую выполняет matplotlib — предоставление набора функций и инструментов для представления и управления Figure (так называется основной объект) вместе со всеми внутренними объектами, из которого он состоит. Но в matplotlib есть также инструменты для обработки событий и, например, анимации. Благодаря им эта библиотека способна создавать интерактивные графики на основе событий по нажатию кнопки или движению мыши.
Архитектура matplotlib логически разделена на три слоя, расположенных на трех уровнях. Коммуникация непрямая — каждый слой может взаимодействовать только с тем, что расположен под ним, но не над.
Слой бэкенда
Слой Backend является нижним на диаграмме с архитектурой всей библиотеки. Он содержит все API и набор классов, отвечающих за реализацию графических элементов на низком уровне.
Художественный слой
Средним слоем выступает художественный ( artist ). Все элементы, составляющие график, такие как название, метки осей, маркеры и так далее, являются экземплярами этого объекта. Каждый из них играет свою роль в иерархической структуре.
Есть два художественных класса: примитивный и составной.
На этом уровне часто приходится иметь дело с объектами, занимающими высокое положение в иерархии: график, система координат, оси. Поэтому важно полностью понимать, какую роль они играют. Следующее изображение показывает три основных художественных (составных объекта), которые часто используются на этом уровне.
Слой сценария (pyplot)
pylab и pyplot
Pylab объединяет функциональность pyplot с возможностями NumPy в одном пространстве имен, поэтому отдельно импортировать NumPy не нужно. Более того, при импорте pylab функции из pyplot и NumPy можно вызывать без ссылки на модуль (пространство имен), что похоже на MATLAB.
Пакет pyplot предлагает классический интерфейс Python для программирования, имеет собственное пространство имеет и требует отдельного импорта NumPy. В последующих материалах используется этот подход. Его же применяет большая часть программистов на Python.
Установка пакета и основные возможности
Эти два пакета полностью покрывают базовые потребности при научных расчетах и визуализации данных. Я бы даже сказал, что они, своего рода, «убийцы» известного математического пакета MatLab. Так как Python гораздо лучше работает с большими массивами данных и, кроме того, полностью бесплатный. Тогда как за MatLab в недалеком прошлом приходилось платить аж целых 2000$.
Вероятно, разработчики пакетов numpy и matplotlib также активно использовали MatLab, так как попытались сохранить некоторый синтаксис этого математического пакета. Вместе с тем и numpy и matplotlib использую концепцию ООП, что значительно упрощает работу с ними при разработке больших проектов.
Пакет numpy мы с вами уже рассматривали и, если кто не смотрел этот плейлист, то вот ссылка на него:
А, начиная с этого занятия, мы будем изучать второй пакет – matplotlib. Конечно, я затрону лишь основной функционал, покажу базовые возможности этого пакета, которых, впрочем, будет достаточно, наверное, в 80-90% случаев. Все детали рассматривать нет смысла, тогда занятия просто превратятся в большой видео-справочник, который будет сложно воспринимать. Да и смысла большого в таком изложении нет. Если потребуются реализовать какие-то редкие нюансы, то это проще посмотреть или в интернете или в официальной документации по ссылке:
Кстати, полная документация занимает более 3000 страниц. Так что можете представить, во что превратились бы уроки подробного изложения возможностей matplotlib. Большинству это ни к чему и я буду исходить из среднестатистических потребностей в визуализации данных на графиках.
Установка пакета matplotlib
Как всегда, все начинается с установки. Сделать это очень просто, достаточно в терминале выполнить команду:
pip install matplotlib
и пакет со всеми зависимостями будет установлен. Также можно зайти в репозиторий:
набрать в поиске matplotlib и появится список доступных пакетов. По умолчанию, устанавливается последняя версия.
И если с помощью команды «pip list» вывести список пакетов, то среди них должны быть и приведенные в списке.
Бекэнд matplotlib
Так как matplotlib выводит графическую информацию, как правило, на экран устройства, то он должен использовать пакет для работы с пользовательским интерфейсом. И, действительно, по умолчанию в качестве backend применяется модуль:
который, как правило, поставляется с самим языком Python. И мы в этом можем убедиться. Давайте создадим простейшую программу и, заодно проверим корректность установки matplotlib:
Мы здесь импортировали модуль matplotlib и вызвали функцию get_backend() для получения информации о текущем выбранном backend’е. У меня в консоли выводится строка:
означающая, что выбран TkInter в качестве backend’а. Если у вас по каким-то причинам не установлен TkInter, то могут возникнуть проблемы при отображении графиков. Если же мы хотите выбрать другой backend, то для этого следует выполнить команду:
В данном случае указан пакет Qt версии 5 для отображения графической информации. Также backend можно «жестко» прописать в файле конфигурации пакета matplotlib, чтобы каждый раз в программе не вызывать функцию use().
Вообще, поддерживаются следующие backend’ы:
Мы будем пока использовать стандартный модуль TkInter, чтобы не усложнять наши программы.
Архитектура окна графика
Давайте теперь сформируем простой график и отобразим его в окне. Для этого нам нужно импортировать специальный модуль pyplot пакета matplotlib:
Обычно ему присваивается алиас plt для дальнейшего удобства использования. Далее, мы воспользуемся функцией plot() для отображения простейшей кривой:
В принципе, этого достаточно, чтобы график был сформирован и отображен. Но при работе в интегрированных средах, вроде PyCharm, окно с графиком тут же закроется. Чтобы этого не происходило, добавим вызов еще одной функции:
Теперь мы видим окно с графиком и элементами управления. Программа продолжит свою работу только после закрытия этого окна.
Чтобы в дальнейшем уметь управлять этим графиком, нужно понимать из каких компонент он состоит.
Или, это можно представить в виде схемы взаимодействия между компонентами окна:
На этом рисунке показаны лишь базовые элементы графика. В действительности, их несколько больше, но мы начнем с них. Итак, в основе всего лежит фигура (Figure) и она одна для текущего окна. Затем, на фигуре располагаются координатные оси (Axes). Таких осей (объектов Axes) может совсем не быть, но, как правило, имеется хотя бы одна область. Также можно добавлять две, три и так далее координатных осей на одну фигуру:

Каждый объект Axes содержит две или три координатные оси (Axis), сетку, метки (ticks), легенду и, конечно же, графики. Причем число графиков может быть произвольным – от нуля и до любого разумного числа.
Объект Artist отвечает за размещение и оформление отображаемых данных на рисунке (Figure) и взаимодействует непосредственно с объектом Canvas – подложки для рисования на холсте (рисунке).
Основные возможности matplotlib
С помощью matplotlib можно отображать произвольные данные самыми разными способами в виде:
Наконец, matplotlib позволяет создавать анимации отображаемых данных и сохранять их, например, в анимированных GIF-файлах. Все это и сделало данный пакет таким популярным и удобным в самых разных приложениях, где необходимо отображать данные и визуально оценивать полученный результат.
Видео по теме
#1. Установка пакета и основные возможности
#2. Функция plot для построения и оформления двумерных графиков
#3. Отображение нескольких координатных осей в одном окне
#4. Граничные значения осей и локаторы для расположения меток на них
#5. Настраиваем формат отображения меток у координатных осей
#6. Делаем логарифмический масштаб у координатных осей
#7. Размещаем стандартные текстовые элементы на графике
#8. Добавляем легенду и рисуем геометрические фигуры на графиках
#9. Рисуем ступенчатые, стековые, stem и точечные графики
#10. Рисуем гистограммы, столбчатые и круговые диаграммы
#11. Показ изображений и цветовых сеток
#12. Как строить трехмерные графики
#13. Рисуем линии уровня функциями contour, contourf и tricontour, tricontourf
#14. Создаем анимацию графиков Классы FuncAnimation и ArtistAnimation
© 2021 Частичное или полное копирование информации с данного сайта для распространения на других ресурсах, в том числе и бумажных, строго запрещено. Все тексты и изображения являются собственностью сайта
























