- Визуализация научных данных с помощью пакета matplotlib в Linux
- Возможности
- Установка
- Примеры использования Matplotlib
- Пример 1: точечные и линейные графики
- Пример 2: Гистограммы
- Заголовки разделов
- Заключение
- Installation¶
- Installing an official release¶
- Third-party distributions¶
- Conda packages¶
- Python distributions¶
- Linux package manager¶
- Matplotlib. Урок 1. Быстрый старт
- Установка
- Варианты установки Matplotlib
- Установка Matplotlib через менеджер pip
- Проверка установки
- Быстрый старт
- Построение графика
- Несколько графиков на одном поле
- Несколько разделенных полей с графиками
- Построение диаграммы для категориальных данных
- Основные элементы графика
- P.S.
Визуализация научных данных с помощью пакета matplotlib в Linux
Если вы ищете эффективное, автоматизированное решение для создания высококачественных научных графиков в Linux, обратите внимание на matplotlib — графический научный пакет на базе Python с открытым исходным кодом и лицензией на базе Python Software Foundation license. К его достоинствам можно отнести подробную документацию с примерами, интеграцию с Python и вычислительным научным пакетом NumPy, а также возможность автоматизации операций. В этом руководстве мы рассмотрим несколько примеров создания графиков с помощью matplotlib.
Возможности
— различные типы графиков (диаграммы, точечные, линейные, контурные. );
— синтаксис на базе Python;
— интеграция с научным вычислительным пакетом NumPy;
— исходные данные могут быть списками и кортежами Python, либо массивами NumPy;
— настраиваемый формат графика (масштабы осей, подписи, сетка и т.д.);
— настраиваемый текст (тип шрифта, размер, начертание и т.д.);
— форматирование TeX (уравнения, греческие символы и т.д.);
— совместим с IPython (позволяет строить графики интерактивно из командной оболочки Python);
— автоматизация — использует циклы Python для итеративного построения графиков;
— сохранение графиков в виде изображений (в форматах png, pdf, ps, eps и svg).
Основой эффективной работы matplotlib и многих его особенностей служит синтаксис на базе Python. Есть много научных пакетов, которые позволяют строить качественные графики, но многие из них позволяют делать это непосредственно в вашем коде на Python? Кроме того, могут ли они создавать автоматизированные процедуры для итеративного построения графиков и сохранения их в графических файлах? Matplotlib позволяет выполнять все эти задачи. С его помощью вы можете сэкономить время, тратящееся на создание графиков вручную.
Установка
В первую очередь для работы matplotlib установите Python и NumPy. Инструкции по установке NumPy можно найти здесь .
Для установки matplotlib в Debian или Ubuntu введите следующую команду:
Для установки matplotlib в Fedora или CentOS/RHEL:
Примеры использования Matplotlib
В этом руководстве мы рассмотрим следующие примеры использования matplotlib:
— точечный и линейный графики;
— гистограммы;
— круговые диаграммы.
В этих примерах для выполнения команд matplotlib мы будем использовать скрипты на Python . Обратите внимание, что в скрипте должны быть импортированы модули numpy и matplotlib с помощью команды import. np определяется как ссылка на модуль numpy, а plt — как ссылка на пространство имен matplotlib.pyplot:
Пример 1: точечные и линейные графики
Первый скрипт, script1.py, выполняет следующие задачи:
— Создает три набора данных (xData, yData1 и yData2);
— создает новый рисунок (под номером 1) шириной 8 дюймов и высотой 6 дюймов;
— задает название графика и подписи для осей x и y (все с размером шрифта 14);
— строит график первого набора данных, yData1, как функции набора данных xData в виде точечного графика с круглыми маркерами и подписью «y1 data»;
— строит график второго набора данных, yData2, как функции набора данных xData в виде непрерывной линии красного цвета без маркеров и с подписью «y2 data»;
— размещает легенду в верхнем левом углу графика;
— сохраняет рисунок в формате PNG.
Пример 2: Гистограммы
Второй скрипт, script2.py, выполняет следующие задачи:
— создает набор данных из 1000 нормально распределенных случайных чисел;
— создает новый рисунок (под номером 1) шириной 8 дюймов и высотой 6 дюймов;
— задает название графика и подписи для осей x и y (все с размером шрифта 14);
— строит гистограмму из 40 столбцов с нижней и верхней границами -10 и 10 соответственно;
— добавляет на график текст, используя форматирование TeX для вывода греческих символов (размер шрифта 16);
— сохраняет рисунок в формате PNG.
Заголовки разделов
Пример 3: круговые диаграммы
Третий скрипт, script3.py решает следующие задачи:
— создает набор данных, состоящий из пяти чисел;
— создает новый рисунок (под номером 1) шириной 8 дюймов и высотой 6 дюймов;
— добавляет на рисунок оси с соотношением сторон 1:1;
— задает название графика (размер шрифта 14);
— строит график в виде круговой диаграммы;
— сохраняет рисунок в формате PNG.
Заключение
В этом руководстве показано несколько примеров построения графиков с помощью пакета matplotlib, который является отличным решением для визуализации научных данных в окружении Linux, так как обеспечивает естественную интеграцию с Python и NumPy, возможность автоматизации, и способен создавать разнообразные высококачественные графики. Документацию и дополнительные примеры использования matplotlib можно найти здесь .
Источник
Installation¶
Installing an official release¶
Matplotlib releases are available as wheel packages for macOS, Windows and Linux on PyPI. Install it using pip :
If this command results in Matplotlib being compiled from source and there’s trouble with the compilation, you can add —prefer-binary to select the newest version of Matplotlib for which there is a precompiled wheel for your OS and Python.
The following backends work out of the box: Agg, ps, pdf, svg
Python is typically shipped with tk bindings which are used by TkAgg.
For support of other GUI frameworks, LaTeX rendering, saving animations and a larger selection of file formats, you can install Optional dependencies .
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
- Arch: sudo pacman -S python-matplotlib
Источник
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 ). Каждому типу сетки можно задавать цвет, толщину линии и тип. Для отображения сетки и легенды используются соответствующие команды.
Ниже представлен код, с помощью которого была построена фигура, изображенная на рисунке:
Если в данный момент вам многое кажется непонятным – не переживайте, далее мы разберем подробно особенности настройки и использования всех элементов представленных на поле с графиками.
P.S.
Вводные уроки по “Линейной алгебре на Python” вы можете найти соответствующей странице нашего сайта . Все уроки по этой теме собраны в книге “Линейная алгебра на Python”.
Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. Для начала вы можете познакомиться с вводными уроками. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.
Источник