30 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Matplotlib python установка

Незамысловатый блог

09.08.2009

Пакет matplotlib. Установка, проверка, настройка

Введение

matplotlib – набор дополнительных модулей (библиотек) языка Python. Предоставляет средства для построения самых разнообразных 2D графиков и диаграмм данных. Достоинства. Отличается простотой использования – для построения весьма мудреных и красочно оформленных диаграмм достаточно нескольких строк кода. При этот качество получаемых изображений более чем достаточно для их публикования. Один из выходных формата файлов – Postscript, что, соответственно, позволяет вставлять изображения в документы TeX. Предоставляет API для встраивания своих графических объектов в приложения пользователя.

Установка

Официальный сайт проекта matplotlib. Дистрибутив для Windows можно заполучить на Sourceforge. Текущая версия 0.99.0, выпущена 06 августа 2009.

Для установки необходим, разумеется, сам Python и модуль NumPy. NumPy предоставляет методы для работы с огромными многомерными массивами. Дистрибутив для Windows так же можно взять на Sourceforge. Текущая версия 1.3.0 от 05 апреля 2009.

В Windows установка и matplotlib и NumPy не должна вызвать ни каких проблем. Скачиваем и запускаем файл дистрибутива.

Проверка

После установки проверяем работоспособность. Запускаем консоль Python, вводим:

В результате должно появиться вот такое окно диаграммы:

Что было сделано? Из пакета matplotlib импортирован модуль pyplot под именем plt . Модуль pyplot содержит функции (похожие на команды) создания диаграмм и изменения свойств их элементов. Функция plot() строит прямоугольные двумерные диаграммы (графики) в координатах X – Y. Если функции plot передан один аргумент (в нашем случае – список [1,2,3] ), она рассматривает его как совокупность значений откладываемых по оси Y, тогда по оси X ему будет соответствовать автоматически сгенерированный набор чисел 0,1,2. N – 1 , где N – число элементов в переданном списке. Функция title() задает заголовок диаграммы, а функция show() выводит интерактивное окно диаграммы. В общем все очень просто. Вот только вместо заголовка диаграммы “Прямая линия” 11 прямоугольников, не настроенный matplotlib не может найти шрифты с кириллическими символами.

Настройка

Пакет matplotlib можно легко настроить через конфигурационный файл matplotlibrc . Если Python установлен в папку C:Python26 файл matplotlibrc находится в папке: C:Python26Libsite-packagesmatplotlibmpl-data . Вносить изменения можно прямо здесь, но лучше скопировать файл в папку пользователя: C:Documents and SettingsUserName.matplotlib , иначе при переустановке пакета конфигурационный файл будет перезаписан. Параметры пакета задаются в файле в виде пар свойство : значение , символ # отделяет комментарий. Свойство font.family определяет тип активного шрифта по умолчанию, может принимать пять значений: serif , sans-serif , cursive , fantasy , monospace . В свою очередь свойства font.serif , font.sans-serif , font.cursive , font.fantasy , font.monospace содержат списки имен шрифтов (через запятую, в порядке уменьшения приоритета) соответствующих каждому типу. Для “русификации” matplotlib необходимо изменить имена шрифтов в списке, на имена доступных в системе шрифтов, содержащих кириллические символы. Например так:

Для корректного отображения кириллических символов так же необходимо внести небольшие изменения в код программы. Все строки, содержащие символы национальных алфавитов должны быть типа unicode . Тип строкового литерала необходимо указать явно.

В случае скрипта исходный файл должен быть в кодировке UTF-8 . Кодировку файла так же следует указать явно. Для этого в первых строках программы пишем:

Вносим изменения в файл matplotlibrc , повторяем ввод в консоле Python:

Ну вот теперь подписи диаграммы отображаются корректно:

Функции pyplot.xlabel() , pyplot.ylabel() , как легко догадаться по названию, устанавливают подписи к осям X и Y соответственно.

Пакет matplotlib можно настраивать и динамически (во время выполнения программы). В пакете определена структура matplotlib.rcParams , с которой работают как со словарем. Ключевые слова в данном случае – имена свойств файла matplotlibrc .

Настройки шрифтов через matplotlib.rcParams можно изменить например так:

В результате должно получиться вот что:

Функции pyplot.plot() можно передать произвольное число пар аргументов типов list или array (тип array определен в модуле numpy). В примере выше передана одна пара: [1,2,3,4] , [1,4,9,16] . Первый элемент каждой пары функция рассматривает как значения откладываемые по оси X, второй элемент как значения по оси Y. Соответственно для каждой пары элементов строиться своя кривая на диаграмме. После каждой пары данных может быть передан дополнительный аргумент типа string – строка форматирования, которая определяет внешний вид кривой. Формат строки позаимствован из системы Matlab. Строка включает три подстроки. Первая подстрока задает цвет графического элемента, вторая стиль маркера, третья стиль линии. В примере ‘ ro’ = ‘r’ + ‘o’ , где ‘r’ – красный, ‘o’ – кружок. По умолчанию ‘b-‘ – синяя непрерывная линия.

Немного о назначении кнопок интерактивного окна диаграммы.

(pan/zoom) предназначена для прокрутки/масштабирования диаграммы. Нажимаем на кнопку, указатель мыши приобретает вид перекрещенных стрелок. Если двигать мышь и удерживать левую кнопку – диаграмма будет прокручиваться по направлению движения указателя. Если двигать мышь и удерживать правую кнопку – масштаб диаграммы будет изменяться, при движении вверх/вправо – уменьшаться, вниз/влево – увеличиваться. При нажатых клавишах ” x ” и ” y ” перемещение/масштабирование диаграммы будет происходить по осям X и Y соответственно, при нажатой клавише Ctrl диаграмма будет изменяться так, чтобы сохранились её пропорции (aspect ratio).

при нажатии включает режим прямоугольного масштабирования. Если нажать на кнопку указатель мыши приобретет вид креста. При нажатой левой кнопки мыши на диаграмме можно выделить прямоугольную область. После освобождения кнопки масштаб диаграммы будет изменен так, чтобы выделенная область заняла как можно большую площадь диаграммы.

позволяют перемещаться по истории изменения диаграммы. Все изменения вносимые в диаграмму пользователем (масштабирование, прокрутка) запоминаются. Кнопки со стрелками позволяют перемещаться вперед/назад по имеющимся вариантам диаграммы. Кнопка с домиком возвращает диаграмму к исходному состоянию.

вызывает стандартный для системы диалог сохранения файла. Позволяет сохранить диаграмму в файл. Можно выбрать следующие форматы файла диаграммы: png , pdf , svg , eps , ps . К сожалению не работает сохранение в формате emf (модуль pyemf разработчиком больше не поддерживается). Через формат emf было очень удобно вставлять диаграммы в документы Word.

Installing¶

If you wish to contribute to the project, it’s recommended you install the latest development version .

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.

For support of other GUI frameworks, LaTeX rendering, saving animations and a larger selection of file formats, you may need to install additional dependencies .

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:

  • extract the lib/matplotlib/tests or lib/mpl_toolkits/tests directories from the source distribution;
  • install test dependencies: pytest, Pillow, MiKTeX, GhostScript, ffmpeg, avconv, ImageMagick, and Inkscape;
  • run python -mpytest .

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.

  • Debian / Ubuntu: sudo apt-get install python3-matplotlib
  • Fedora: sudo dnf install python3-matplotlib
  • Red Hat: sudo yum install python3-matplotlib
  • Arch: sudo pacman -S python-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. Grab the latest tar.gz release file from the PyPI files page, or if you want to develop Matplotlib or just need the latest bugfixed version, grab the latest git version, and see Install from source .

The standard environment variables CC , CXX , PKG_CONFIG are respected. This means you can set them if your toolchain is prefixed. This may be used for cross compiling.

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.

  • Tk (>= 8.3, != 8.6.0 or 8.6.1): for the Tk-based backends;
  • PyQt4 (>= 4.6) or PySide (>= 1.0.3) [1]: for the Qt4-based backends;
  • PyQt5: for the Qt5-based backends;
  • PyGObject: for the GTK3-based backends [2];
  • wxPython (>= 4) [3]: for the wx-based backends;
  • cairocffi (>= 0.8) or pycairo: for the cairo-based backends;
  • Tornado: for the WebAgg backend;
Читать еще:  Зависла загрузка в инстаграм как сбросить?

For better support of animation output format and image file formats, LaTeX, etc., you can install the following:

  • ffmpeg/avconv: for saving movies;
  • ImageMagick: for saving animated gifs;
  • Pillow (>= 3.4): for a larger selection of image file formats: JPEG, BMP, and TIFF image files;
  • LaTeX and GhostScript (>=9.0) : for rendering text with LaTeX;
  • fontconfig (>= 2.7): for detection of system fonts on Linux.

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.

If not using pkg-config (in particular on Windows), you may need to set the include path (to the FreeType, libpng, and zlib headers) and link path (to the FreeType, libpng, and zlib libraries) explicitly, if they are not in standard locations. This can be done using standard environment variables — on Linux and OSX:

where . means “also give, in the same format, the directories containing png.h and zlib.h for the include path, and for libpng.so / png.lib and libz.so / z.lib for the link path.”

The following libraries are shipped with Matplotlib:

  • Agg : the Anti-Grain Geometry C++ rendering engine;
  • qhull : to compute Delaunay triangulation;
  • ttconv : a TrueType font utility.

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:

  • Wheels via matplotlib-winbuild
  • Wheels by using conda packages (see below)
  • Conda packages (see below)

If you are building your own Matplotlib wheels (or sdists), note that any DLLs that you copy into the source tree will be packaged too.

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.

Построение графиков в Python при помощи Matplotlib

Картиной можно выразить тысячу слов. В случае с библиотекой Python matplotlib, к счастью, понадобится намного меньше слов в коде для создания качественных графиков.

Однако, matplotlib это еще и массивная библиотека, и создание графика, который будет выглядеть «просто, нормально» обычно проходит через путь проб и ошибок. Использование однострочных линий для создания базовых графиков в matplotlib – весьма просто, но умело пользоваться остальными 98% библиотеки может быть сложно.

Эта статья – руководство для пользователей Python на начальном-среднем уровне по matplotlib, с использованием как теории, так и практических примеров. Обучение по практическим примерам может быть очень продуктивным, и дает возможность получить представление даже на поверхностном уровне понимания внутренней работы и макета библиотеки.

Что мы рассмотрим?

  • Pylab и pyplot: кто есть кто?
  • Ключевые концепции дизайна matplotlib;
  • Понимание plt.subplots();
  • Визуализация массивов при помощи matplotlib;
  • Построение графиков с комбинацией pandas и matplotlib.

Эта статья подразумевает, что пользователь имеет хотя-бы минимальное представление о NumPy. Мы в основном будем пользоваться модулем numpy.random для создания «игрушечных» данных, рисовать примеры из различных статистических источников.

Если у вас еще не установлен matplotlib, рекомендуем ознакомиться с руководством по установке, перед тем как продолжить.

Почему Matplotlib может быть сложным?

Изучение matplotlib временами может быть тяжелым процессом. Проблема не в нехватке документации (которая весьма обширная, между прочим). Сложности могут возникнуть со следующим:

  • Размер библиотеки огромный сам по себе, около 70 000 строк кода;
  • Matplotlib содержит несколько разных интерфейсов (способов построения фигуры) и может взаимодействовать с большим количеством бекендов. (Бекенды отвечают за то, как по факту будут отображаться диаграммы, не только за внутреннюю структуру);
  • Несмотря на обширность, часть собственной документации matplotlib серьезно устарела. Библиотека все еще развивается, и множество старых примеров в сети могут включать на 70% меньше кода, чем в их современной версии;

Так что, перед тем как мы перейдем к сложным примерам, не помешает освоить корневые концепции дизайна matplotlib.

Pylab: что это и нужно ли мне это?

Немножко истории: Нейробиолог Джон Д. Хантер начал разрабатывать matplotlib в 2003 году, в основном вдохновляясь эмуляцией команд программного обеспечения Mathworks MATLAB. Джон отошел в мир иной трагически рано, в возрасте 44 лет в 2012 году, и matplotlib на сегодняшний день является целиком и полностью продуктом сообщества: развивается и поддерживается множеством людей. (Джон говорил об эволюции matplotlib на конференции SciPy в 2012, которую однозначно стоит посмотреть.)

Важной особенностью MATLAB является общий стиль. Концепция импорта Python сейчас широко используется в MATLAB, а большая часть функций MATLAB доступна пользователям высшего уровня.

Заказать свой собственный уникальный номер можно от Сим-Трейд.ру. Быстрая доставка в день заказа и красивые номера начиная от 300 руб. с выгодным тарифным планом. Свой уникальный номер это хороший признак для введения бизнеса с момента первого звонка.

Понимание того, что корни matplotlib растут из MATLAB, помогает объяснить существование pylab. pylab – это модуль внутри библиотеки matplotlib, который был встроен для подражания общего стиля MATLAB. Он существует только для внесения ряда функций классов из NumPy и matplotlib в пространство имен, что упрощает переход пользователей MATLAB, которые не сталкивались с необходимостью в операторах импорта. Бывшие пользователи MATLAB (которые очень хорошие люди, обещаем!) полюбили его функционал, потому что при помощи from pylab import * они могут просто вызывать plot() или array() напрямую также, как они это делали в MATLAB.

Проблема здесь может быть очевидной для некоторых пользователей Python: использование from pylab import * в сессии или скрипте – как правило, плохая идея. Matplotlib сегодня прямым текстом рекомендуют не делать этого в своих руководствах:

[pylab] все еще существует по историческим причинам, но его использование не рекомендуется. Он перегружает пространства имен функциями, которые оттеняют надстройки Python и может привести к скрытым багам. Для получения интеграции IPython без использования импортов, рекомендуется использовать %matplotlib.

В глубине своей, существует целая тонна потенциально конфликтных импортов, замаскированных в коротком источнике pylab. Фактически, использование ipython —pylab (из терминала или командной строки) или %pylab (из инструментов IPython/Jupyter) легко вызывает from pylab import *

Читать еще:  Почему системный блок шумно работает?

Суть в том, что matplotlib забросили этот удобный модуль и рекомендуют не использовать pylab, подтверждая ключевое правило Python – явное лучше, чем неявное.

Без необходимости в использовании pylab, мы всегда можем обойтись всего одним каноничным импортом:

1. Установка

1.1. Установка в составе научных дистрибутивов

Научные дистрибутивы языка Python хороши тем, что помимо самого Python устанавливают целый вагон и маленькую тележку всяких научных полезностей. Научная графика – далеко не единственный инструмент, который может вам пригодиться, а matplotlib – вовсе не единственная библиотека, которая позволяет создавать графики. Поэтому, если вы ученый, а не разработчик, то я вам настоятельно рекомендую именно научный дистрибутив. Практически все дистрибутивы описаны в инструкциях по установке NumPy.

Учитывая, большое количество дистрибутивов и то, что мы хотим работать с графикой, то самым подходящим окажется тот дистрибутив, который предоставляет возможность работать в среде IPython, которая в свою очередь обернута в Jupyter. Jupyter организует web-интерфейс для IPython, что позволяет его запускать в обычном браузере, сам документ (который часто называют блокнотом или тетрадкой) организован в виде ячеек, каждая из которых может содержать либо код либо текст с разметкой markdown. Результат выполнения кода (которым может быть и графика), располагается под той ячейкой в которой он был выполнен.

Учитывая, что научная работа – это в основном код, графика и текст, то блокноты Jupyter – это очень удобный способ сохранить свой труд и поделиться им. Для примера, можете ознакомиться с руководством “Анатомия matplotlib” от Бенджамина Рута.

Я использую дистрибутив Python Anaconda и если вы новичок, то рекомендую начать именно с него – он бесплатен и хорошо документирован. Так же он обладает удобным менеджером пакетов conda, который позволяет очень легко обновлять имеющиеся пакеты или устанавливать недостающие.

1.2. Немного о прочих способах установки

Если вы собираетесь создавать научные программы с использованием matplotlib, то вам необходимо принять во внимание, что данная библиотека имеет довольно много обязательных и вспомогательных зависимостей. Некоторые пакеты требуют тщательного изучения лицензий под которыми они распространяются (например GhostScript). В данном случае, вас может отлично выручить любой из платных научных дистрибутивов Python, который гарантирует компенсацию всех рисков, которые могут возникнуть из-за лицензий пакетов.

Установка matplotlib в составе научного дистрибутива, является лучшей (скорее не лучшей а простейшей) альтернативой для сборки данной библиотеки из ее исходного кода и всех пакетов. Устанавливая дистрибутив, вы получаете возможность использовать его через большинство IDE (как правило в большинстве дистрибутивов вы даже можете обнаружить IDLE). В ходе разработки (проверено в Spyder и PyCharm) вы можете сами легко отследить все зависимости и использовать только те которые вам необходимы.

Matplotlib. Урок 1. Быстрый старт

Первый урок из цикла, посвященному библиотеке для визуализации данных Matplotlib. В рамках данного урока будут рассмотрены такие вопросы как: установка библиотеки, построение линейного графика, несколько графиков на одном и на разных полях, построение диаграммы для категориальных данных и обзор основных элементов графика.

Установка

Варианты установки Matplotlib

Существует два основных варианта установки этой библиотеки: в первом случае вы устанавливаете пакет Anaconda , в состав которого входит большое количество различных инструментов для работы в области машинного обучения и анализа данных (и не только); во втором – установить Matplotlib самостоятельно, используя менеджер пакетов. Про установку Anaconda вы можете прочитать в статье Python. Урок 1. Установка .

Установка Matplotlib через менеджер pip

Второй вариант – это воспользоваться менеджером pip и установить Matplotlib самостоятельно, для этого введите в командной строке вашей операционной системы следующие команды:

Первая из них обновит ваш pip , вторая установит matplotlib со всеми необходимыми зависимостями.

Проверка установки

Для проверки того, что все у вас установилось правильно, запустите интерпретатор Python и введите в нем следующее:

После этого можете проверить версию библиотеки (она скорее всего будет отличаться от приведенной ниже):

Быстрый старт

Перед тем как углубиться в дебри библиотеки Matplotlib , для того, чтобы появилось интуитивное понимание принципов работы с этим инструментом, рассмотрим несколько примеров, изучив которые вы уже сможете использовать библиотеку для решения своих задач.

Если вы работаете в Jupyter Notebook для того, чтобы получать графики рядом с ячейками с кодом необходимо выполнить специальную magic команду после того, как импортируете matplotlib ::

Результат работы выглядеть будет так, как показано на рисунке ниже.

Если вы пишете код в .py файле, а потом запускаете его через вызов интерпретатора Python , то строка %matplotlib inline вам не нужна, используйте только импорт библиотеки.

Пример, аналогичный тому, что представлен на рисунке выше, для отдельного Python файла будет выглядеть так:

В результате получите график в отдельном окне.

Далее мы не будем останавливаться на особенностях использования magic команды, просто запомните, если вы используете Jupyter notebook при работе с Matplotlib вам обязательно нужно включить %matplotlib inline.

Теперь перейдем непосредственно к Matplotlib . Задача урока “Быстрый старт” – это построить разные типы графиков, настроить их внешний вид и освоиться в работе с этим инструментом.

Построение графика

Для начал построим простую линейную зависимость, дадим нашему графику название, подпишем оси и отобразим сетку. Код программы:

В результате получим следующий график:

Изменим тип линии и ее цвет, для этого в функцию plot() , в качестве третьего параметра передадим строку, сформированную определенным образом, в нашем случае это “r–”, где “r” означает красный цвет, а “–” – тип линии – пунктирная линия. Более подробно о том, как задавать цвет и какие типы линии можно использовать будет рассказано с одной из следующих глав.

Несколько графиков на одном поле

Построим несколько графиков на одном поле, для этого добавим квадратичную зависимость:

В приведенном примере в функцию plot() последовательно передаются два массива для построения первого графика и два массива для построения второго, при этом, как вы можете заметить, для обоих графиков массив значений независимой переменной x один и то же.

Несколько разделенных полей с графиками

Третья, довольно часто встречающаяся задача – это отобразить два или более различных поля, на которых будет отображено по одному или более графику.

Построим уже известные нам две зависимость на разных полях.

Здесь мы воспользовались новыми функциями:

figure() – функция для задания глобальных параметров отображения графиков. В нее, в качестве аргумента, мы передаем кортеж, определяющий размер общего поля.

subplot() – функция для задания местоположения поля с графиком. Существует несколько способов задания областей для вывода через функцию subplot() мы воспользовались следующим: первый аргумент – количество строк, второй – столбцов в формируемом поле, третий – индекс (номер поля, считаем сверху вниз, слева направо).

Остальные функции уже вам знакомы, дополнительно мы использовали параметр fontsize для функций xlabel() и ylabel() , для задания размера шрифта.

Построение диаграммы для категориальных данных

До этого мы строили графики по численным данным, т.е. зависимая и независимая переменные имели числовой тип. На практике довольно часто приходится работать с данными нечисловой природы – имена людей, название фруктов, и т.п.

Построим диаграмму на которой будет отображаться количество фруктов в магазине:

Для вывода диаграммы мы использовали функцию bar() .

К этому моменту, если вы самостоятельно попробовали запустить приведенные выше примеры, у вас уже должно сформировать некоторое понимание того, как осуществляется работа с этой библиотекой.

Основные элементы графика

Рассмотрим основные термины и понятия, касающиеся изображения графика, с которыми вам необходимо будет познакомиться, для того, чтобы в дальнейшем у вас не было трудностей при прочтении материалов из этого цикла статей и документации по библиотеке matplotlib .

Корневым элементом при построения графиков в системе Matplotlib является Фигура ( Figure ). Все, что нарисовано на рисунке выше является элементами фигуры. Рассмотрим ее составляющие более подробно.

На рисунке представлены два графика – линейный и точечный. Matplotlib предоставляет огромное количество различных настроек, которые можно использовать для того, чтобы придать графику вид, который вам нужен: цвет, толщина и тип линии, стиль линии и многое другое, все это мы рассмотрим в ближайших статьях.

Вторым, после непосредственно самого графика, по важности элементом фигуры являются оси. Для каждой оси можно задать метку (подпись), основные ( major ) и дополнительные ( minor ) тики, их подписи, размер и толщину, также можно задать диапазоны по каждой из осей.

Сетка и легенда

Следующими элементами фигуры, которые значительно повышают информативность графика являются сетка и легенда. Сетка также может быть основной ( major ) и дополнительной ( minor ). Каждому типу сетки можно задавать цвет, толщину линии и тип. Для отображения сетки и легенды используются соответствующие команды.

Читать еще:  Как ускорить загрузку Windows 7 при включении?

Ниже представлен код, с помощью которого была построена фигура, изображенная на рисунке:

Если в данный момент вам многое кажется непонятным – не переживайте, далее мы разберем подробно особенности настройки и использования всех элементов представленных на поле с графиками.

P.S.

Вводные уроки по “Линейной алгебре на Python” вы можете найти соответствующей странице нашего сайта . Все уроки по этой теме собраны в книге “Линейная алгебра на Python”.

Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. Для начала вы можете познакомиться с вводными уроками. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.

Как использовать данные в Python 3 Использование matplotlib

Вступление

Python отлично подходит для обработки данных. Часто набор данных будет включать в себя множество переменных и множество экземпляров, что затрудняет понимание того, что происходит. Визуализация данных — это полезный способ помочь вам определить шаблоны в ваших данных.

Например, скажите, что вы агент по недвижимости, и вы пытаетесь понять отношения между возрастом дома и его отпускной ценой. Если ваши данные включали 1 блок из 5 домов, было бы не слишком сложно понять, что происходит. Однако, скажем, вы хотели использовать данные из всего города в 500 домов. Тогда стало бы трудно понять, как возраст влияет на цену. Визуализация данных, составление графика продажи по сравнению с возрастом, может определенно пролить свет на отношения, существующие между ними.

Визуализация — это быстрый и простой способ передачи понятий универсальным образом, особенно тем, кто не знаком с вашими данными. Всякий раз, когда мы работаем с данными, визуализация часто является необходимой частью анализа.

Мы будем использовать библиотеку 2D-графики, matplotlib , которая была первоначально написана Джоном Д. Хантером и с тех пор стала очень активным проектом сообщества разработчиков с открытым исходным кодом. Он позволяет создавать высококачественные линейные графики, графики рассеяния, гистограммы, гистограммы и многое другое. Каждый сюжет представляет данные по-другому, и часто бывает полезно опробовать разные типы сюжетов, прежде чем окунуться в наиболее информативный сюжет для ваших данных. Хорошо иметь в виду, что визуализация представляет собой смесь искусства и науки.

Учитывая важность визуализации, этот учебник опишет, как строить данные на Python, используя matplotlib. Мы будем генерировать диаграмму рассеяния с использованием небольшого набора данных, добавляя информацию, такую ​​как названия и легенды, к графикам, и настраивая графики, изменяя, как выглядят точки сюжета.

Когда вы закончите с этим уроком, вы сможете записывать данные на Python!

Предпосылки

Для этого урока вы должны установить Python 3, а также локальную среду программирования, установленную на вашем компьютере. Если это не так, вы можете настроить его, следуя соответствующей установке и настроить руководство для своей операционной системы .

Шаг 1 — Импортирование matplotlib

Прежде чем мы сможем начать работать на Python, давайте дважды проверим, установлен ли модуль matplotlib. В командной строке проверьте matplotlib, выполнив следующую команду:

  • python -c «import matplotlib»

Если установлен matplotlib, эта команда завершится без ошибок, и мы готовы к работе. В противном случае вы получите сообщение об ошибке:

  • Traceback (most recent call last): File « », line 1, in ImportError: No module named ‘matplolib’

Если вы получили сообщение об ошибке, загрузите библиотеку, используя pip:

Теперь, когда matplotlib установлен, мы можем импортировать его в Python. Во- первых, давайте создадим сценарий , который мы будем работать с в этом учебнике: scatter.py . Затем, в нашем скрипте, давайте импортируем matplotlib. Поскольку мы будем работать только с модулем построения (pyplot), давайте укажем, когда мы его импортируем.

Мы указываем модуль, который мы хотим импортировать, добавив .pyplot к концу matplotlib . Чтобы упростить обращение к модулю в нашем скрипте, мы сокращаем его как plt . Теперь мы можем перейти к созданию и построению наших данных.

Шаг 2 — Создание точек данных для графика

В нашем скрипте Python давайте создадим некоторые данные для работы. Мы работаем в 2D, поэтому нам понадобятся координаты X и Y для каждой из наших точек данных.

Чтобы лучше понять, как работает matplotlib, мы свяжем наши данные с возможным реальным сценарием. Давайте притворимся, что мы являемся владельцами кафе, и нас интересуют отношения между средней погодой в течение года и общим количеством покупок замороженного кофе. Наша переменная X будет общим количеством замороженных кофе в месяц, а наша переменная Y будет средней температурой в Фаренгейте в течение каждого месяца.

В нашем скрипте Python мы создадим две переменные списка: X (общий объем проданных замороженных кофейных изделий) и Y (средняя температура). Каждый пункт в наших соответствующих списках будет представлять данные с каждого месяца (с января по декабрь). Например, в январе средняя температура составляла 32 градуса Фаренгейта, а в кофейне было продано 590 кофе со льдом.

Теперь, когда у нас есть наши данные, мы можем начать рисовать.

Шаг 3 — Обработка данных

Границы рассеяния отлично подходят для определения взаимосвязи между двумя переменными, поэтому мы будем использовать этот тип графика для нашего примера. Чтобы создать график рассеяния с использованием matplotlib, мы будем использовать эту scatter() функцию. Функция требует двух аргументов, которые представляют значения координат X и Y.

Каждый раз, когда мы создаем сюжет, мы также должны указать, что мы хотим, чтобы график показывался с помощью plt.show() .

Прежде чем двигаться дальше, давайте проверим, работает ли наш скрипт. Сохраните сценарий и запустите его через командную строку:

Если все пойдет хорошо, окно должно запустить отображение сюжета, например:

Это окно отлично подходит для просмотра данных; он интерактивен и включает в себя несколько функций, таких как зависание для отображения меток и координат, масштабирование или выключение и сохранение.

Шаг 4 — Добавление названий и ярлыков

Теперь, когда мы знаем, что наш скрипт работает правильно, мы можем начать добавлять информацию к нашему сюжету. Чтобы дать понять, что представляют наши данные, давайте укажем название, а также метки для каждой оси.

Начнем с добавления названия. Мы добавляем заголовок перед plt.show() строкой в ​​нашем скрипте.

Затем добавьте метки для осей прямо под plt.title строкой:

Если мы сохраним наш скрипт и запустим его снова, у нас должен быть обновленный сюжет, который будет более информативным. Наш обновленный сюжет должен выглядеть примерно так:

Шаг 5 — Настройка сюжета

Каждый набор данных, с которыми мы работаем, будет уникальным, и важно иметь возможность настраивать, как мы хотим отображать нашу информацию. Помните, что визуализация также является искусством, поэтому проявляйте творческий подход к ней! matplotlib включает в себя множество функций настройки, таких как разные цвета, символы точек и размер. В зависимости от наших потребностей, мы можем играть в разных масштабах, используя разные диапазоны для наших осей. Мы можем изменить параметры по умолчанию, обозначив новые диапазоны для осей, например:

Точки из первоначального сюжета выглядели немного маленькими, а синий цвет — это не тот цвет, который мы хотим. Возможно, нам нужны треугольники вместо кругов для наших очков. Если мы хотим изменить фактический цвет / размер / форму точек, мы должны внести эти изменения в первоначальный plt.scatter() вызов. Мы изменим следующие параметры:

  • s : размер точки, по умолчанию = 20
  • c : цвет, последовательность или последовательность цветов, по умолчанию = ‘b’
  • marker : символ точки, default = ‘o’

Возможные маркеры включают несколько различных форм, таких как алмазы, шестиугольники, звезды и т. Д. Выбор цвета включает, но не ограничивается, синий, зеленый, красный и пурпурный. Также можно предоставить шестнадцатеричную строку HTML для цвета. См. Документацию matplotlib для полных списков возможных маркеров и цветов .

Чтобы сделать наш график более удобным для чтения, давайте утроим размер точек ( s=60 ), изменим цвет на красный ( c=’r’ ) и изменим символ на треугольник ( marker=’^’ ). Мы изменим plt.scatter() функцию:

Прежде чем запускать наш обновленный скрипт, мы можем дважды проверить правильность нашего кода. Обновленный скрипт для настраиваемого графика должен выглядеть примерно так:

Не забудьте сохранить свой сценарий, прежде чем перейти к шагу 6.

Шаг 6 — Сохранение сюжета

Теперь, когда мы закончили наш код, давайте запустим его, чтобы увидеть наш новый настраиваемый сюжет.

Теперь откроется окно с отображением нашего сюжета

Затем сохраните график, нажав кнопку сохранения, которая является значком диска, расположенным на нижней панели инструментов. Имейте в виду, что изображение будет сохранено как PNG вместо интерактивного графика. У вас теперь есть собственный собственный график рассеяния, поздравляю!

Заключение

В этом уроке вы узнали, как строить данные с использованием matplotlib в Python. Теперь вы можете визуализировать данные и настраивать графики.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: