Продвинутый учебник Как стать настоящим мастером Matplotlib

Учебник Мастеринг Matplotlib

Используйте Matplotlib как никогда прежде

Изображение от меня с помощью Midjourney

У меня было правило…

Когда я только начинал изучать визуализацию данных, у меня было правило – никогда, ни при каких обстоятельствах, не заходить на страницы документации Matplotlib.

Там никогда ничего хорошего не происходило. Когда я находился на её страницах, мои глаза видели английские слова, но, почему-то, они интерпретировались в моём мозгу, будто я расшифровываю непонятный язык. Потом я натыкался на такие шедевры, и мне приходило в голову: а ведь я использую ту же самую библиотеку?

Даже если вы опытный программист, я уверен, что вы сталкивались с подобными проблемами при изучении Maplotlib. Это не такая простая библиотека. В ней так много классов и так много способов выполнения самых простых задач – полное смущение.

Если вы находитесь в такой ситуации или хотите повысить свой уровень владения Matplotlib, у меня есть для вас подходящее руководство. Я покажу вам, как проникнуть в глубины джунглей Matplotlib, поджечь их и улететь на реактивной ранце.

Начнем!

Художники Matplotlib

Хотя Matplotlib была создана исключительными программистами, она состоит из базовых классов, называемых художниками (Artists).

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

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

Возможно, именно это беспокоит питонистов больше всего. Согласно философии Python, должен быть один, и желательно единственный очевидный способ сделать что-то. А API Matplotlib нарушает эту правило во всех возможных аспектах.

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