Matplotlib для визуализации данных

Библиотека Matplotlib используется для построения различных графиков на основе данных. В Debian устанавливается так:

Теперь запустим нашу Spyder 3. Если вы изучили мой учебник Python, то дальнейшие действия должны быть понятны.

Сначала импортируем модуль matplotlib.pyplot

Давайте сразу визуализируем какие-нибудь данные. Например, посещаемость сайта urvanov.ru по месяцам за 2018 год.

МесяцУникальных посетителей
117248
219793
319858
421509
520924
621502
718987
816865
915449
1017478
1119399
1220060

Загоним их в списки на Python:

Отлично. Нарисовать график можно просто вызвав:

Полный код:

Запустите этот код на выполнение. Результат будет следующим:


matplotlib.pyplot.plot

Выглядит не очень. Сразу видны недостатки:

  • Ось Y начинается не с 0, что очень сильно затрудняет восприятие графика. Кажется, что на девятом месяце посещаемость упала почти до нуля, но на самом деле всё было не так плохо.
  • Числа с номерами месяцев вывелись не все.
  • Хорошо бы иметь подпись осей и легенду.

Для того чтобы ось Y начиналась с 0 нужно использовать функцию метод axis, в который передаётся список, содержащий четыре значения: минимальное значение для оси X, максимальное значение для оси X, минимальное значение для оси Y, максимальное значение для оси Y:

Результат:

Matplotlib.pyplot axis

Добавим подписи осей и заголовок:

Matplotlib pyplot подписи осей

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

matplotlib pyplot legend

Сейчас мы рисовали обычный линейный график, но можно рисовать столбцами (всё прямо как в Excel). Для этого вызов функции plot нужно заменить на вызов bar:

Результат:

matplotlib pyplot bar

Отлично. Выглядит здорово. Но хотелось бы, чтобы вместо чисел с номером месяца отображались названия месяцев:

Даже не знаю, стоит ли здесь объяснять. Мы объявляем список с названиями месяцев, а затем вызываем метод xticks, которому передаём в качестве первого параметра наши значения оси x, а в качестве второго параметра передаём список подписей. Также указываем , что подписи должны быть расположены вертикально (горизонтально они будут занимать слишком много места):

matplotlib pyplot bar xticks labels Подписи осей Python

На всякий случай приведу получившуюся программу на Python целиком:

Знаете, пока что всё это сильно напоминает то, что мы проходили при изучении MATLAB в университете…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *