Matplotlib для постпроцессинга
Обычно я использую matplotlib для визуализации данных.
Прежде всего, есть несколько полезных вещей, которые вы должны знать об использовании пакета.
Импорт matplotlib
Так же, как мы используем сокращение np для NumPy и сокращение pd для Pandas, мы будем использовать некоторые стандартные сокращения для импорта Matplotlib:
import matplotlib as mpl import matplotlib.pyplot as plt
Настройка стилей
Мы будем использовать директиву plt.style для выбора подходящих стилей для наших графиков. Здесь мы установим классический стиль, который гарантирует, что создаваемые нами графики будут использовать классический стиль Matplotlib:
plt.style.use('classic')
Обратите внимание, что используемые здесь таблицы стилей поддерживаются в Matplotlib версии 1.5. Если вы используете более раннюю версию Matplotlib, доступен только стиль по умолчанию.
Как отобразить графики
Лучшее использование библиотеки Matplotlib зависит от того, как вы хотите ее использовать. Существует примерно три контекста использования Matplotlib: в скрипте, в терминале IPython или в записной книжке IPython.
Построение из скрипта
Если вы используете Matplotlib из скрипта, функция plt.show() - ваш друг. plt.show() запускает цикл обработки событий, ищет все активные в данный момент объекты фигур и открывает одно или несколько интерактивных окон, которые отображают вашу фигуру или фигуры.
Так, например, у вас может быть файл myplot.py, содержащий следующее:
# ------- file: myplot.py ------ import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 10, 100) plt.plot(x, np.sin(x)) plt.plot(x, np.cos(x)) plt.show()
Затем вы можете запустить этот скрипт из командной строки, что приведет к открытию окна с отображаемой фигурой:
$ python myplot.py
Следует помнить одну вещь: команда plt.show() должна использоваться только один раз за сеанс Python, и чаще всего ее можно увидеть в самом конце скрипта. Множественные команды show() могут привести к непредсказуемому поведению, и их в основном следует избегать.
Построение из оболочки IPython
Может быть очень удобно использовать Matplotlib в интерактивном режиме в оболочке IPython. IPython хорошо работает с Matplotlib, если вы укажете режим Matplotlib. Чтобы включить этот режим, вы можете использовать магическую команду %matplotlib после запуска ipython:
In[1]: %matplotlib Using matplotlib backend: TkAgg In[2]: import matplotlib.pyplot as plt
В этот момент любая команда plt.plot откроет окно рисунка, и можно будет запустить дополнительные команды для обновления графика. Некоторые изменения (такие как изменение свойств уже нарисованных линий) не будут отрисовываться автоматически. Для принудительного обновления используйте plt.draw(). Использование plt.show() в режиме %matplotlib не требуется.
Построение из записной книжки IPython
Записная книжка IPython - это интерактивный инструмент анализа данных на основе браузера, который может объединять комментарии, код, графику, элементы HTML и многое другое в один исполняемый документ.
Интерактивное построение графиков в записной книжке IPython может быть выполнено с помощью команды %matplotlib и работает аналогично оболочке IPython. В записной книжке IPython у вас также есть возможность встраивать графику непосредственно в записную книжку с двумя возможными вариантами:
%matplotlib notebook приведет к появлению интерактивных графиков внутри ноутбука
%matplotlib inline приведет к статическим изображениям вашего графика, встроенным в блокнот
Результат:
Оффтопик
Если вы все таки дочитали до этого места, то у меня есть некоторая дополнительная информация. Если вы хотите поддержать выход новых статей, можете закинуть мне пару копеек на кофе.
Статья подготовлена и написана для канала Hello World.
Благодарю всех за внимание.