Как построить функцию в Python с использованием Matplotlib
Last updated
Last updated
Добро пожаловать в этот всесторонний учебник по визуализации данных с использованием Matplotlib и Seaborn в Python. Пройдя этот учебник, вы научитесь строить функции с помощью Python, настраивать внешний вид графиков и экспортировать ваши графики для обмена с другими.
В ходе этого учебного пособия вы получите глубокие знания о Matplotlib, ключевой библиотеке для создания широкого спектра настраиваемых графиков для эффективной визуализации данных. Как только вы ознакомитесь с основами, мы перейдем к Seaborn. Эта библиотека использует возможности Matplotlib и предлагает очевидные преимущества с точки зрения визуальной эстетики и удобства использования.
Оглавление
Чтобы построить функцию в Python с использованием Matplotlib, нам нужно определить диапазон значений x и y, соответствующих этой функции. Для этого нам нужно:
Определим нашу функцию и
Создайте диапазон непрерывных значений x и отобразите соответствующие значения y
Давайте посмотрим, как мы можем это сделать. В первую очередь, нам нужно будет импортировать наши библиотеки:
Для построения функции нам необходимо импортировать две библиотеки: matplotlib.pyplot
и numpy
. Мы используем NumPy для того, чтобы более легко применять функцию к целому массиву.
Давайте теперь определим функцию, которая будет повторять синтаксис f(x) = x ** 2
. Мы сделаем всё максимально просто, просто возводя наш вход в квадрат. Давайте посмотрим, как мы можем определить эту функцию:
Теперь, когда у нас есть функция, давайте определим наш диапазон x и диапазон y. Для этого мы будем использовать функцию linspace из NumPy, которая создает диапазон равномерно расположенных чисел. Давайте посмотрим, как это выглядит:
Поскольку мы определили массив NumPy, мы можем просто передать массив в функцию, и он будет применён поэлементно. Теперь, когда у нас есть эти массивы, давайте построим наш график:
Это возвращает следующее изображение:
Мы видим, что данные изменяются от -5 до +5, хотя график заканчивается раньше. Поскольку функция f(x) = x ** 2
фактически простирается за эти значения, мы должны изменить наш график так, чтобы он заканчивался раньше. Давайте посмотрим, как мы можем это сделать:
Давайте исследуем, что было сделано в приведенном выше блоке кода:
Мы изменили построение графика, используя объектно-ориентированный подход с помощью функции
Мы затем построили нашу функцию на осях
Наконец, мы использовали методы .set_xlim()
и .set_ylim()
для изменения границ нашего графика.
Это вернуло следующее изображение:
В следующем разделе вы узнаете, как настроить свой график, добавив к вашим функциям легенду и заголовок.
В этом разделе вы узнаете, как добавить легенду, описывающую функцию, и заголовок к графику Matplotlib. Для этого давайте немного разгуляемся и определим функцию секции. Посмотрите на блок кода ниже, где мы строим две функции:
Давайте разберем, что мы делали в приведенном выше блоке кода:
Мы определили вторую функцию и рассчитали наши диапазоны значений x и y
Мы создали наш график и оси, а затем построили обе функции на этих осях.
Обратите внимание, что мы использовали параметр label=
, который позволяет вам маркировать диапазон в визуализации
Мы затем использовали метод .set_title()
для установки заголовка на оси нашего графика
Это возвращает следующее изображение:
Уф! Итак, мы смогли нарисовать две функции на одном графике, а затем добавить описания этих функций в легенду графика. В следующем разделе вы узнаете, как сделать это с помощью Seaborn.
В этом разделе вы узнаете, как использовать Seaborn для построения двух функций. Поскольку этот процесс очень похож на использование Matplotlib, я не буду описывать каждую деталь, а скорее объясню, что отличается от нашей реализации в Matplotlib. Обратите внимание на приведенный ниже блок кода:
Давайте разберем, что мы сделали в приведенном выше блоке кода:
Мы импортировали Seaborn и Pandas, так как будем работать с DataFrame Pandas
Мы объявили наши две функции и передали три массива в функцию Python zip()
, которая позволяет проходить по массивам поэлементно
Мы использовали некоторые вспомогательные функции Seaborn для установки стиля и палитры, а затем выполнили построение наших двух функций с помощью функции lineplot Seaborn. Поскольку значения по оси x являются индексом DataFrame, мы можем передать в функцию данные в широком формате.
Наконец, мы используем функцию Seaborn despine для удаления верхней и правой границ нашего графика
Это позволяет нам легко добавить стилизацию к нашей визуализации, на что в Matplotlib потребовалось бы значительно больше времени!
В заключение, построение функции с использованием библиотек Python Matplotlib и Seaborn может быть мощным способом визуализации данных и получения представлений о взаимоотношениях между переменными. Используя функцию linspace из NumPy, мы можем легко создать значения x и y, чтобы представить функцию. С помощью Matplotlib мы можем построить график функции, добавить заголовок и легенду, а также настроить внешний вид графика.
Seaborn предоставляет возможности для построения графиков с более продвинутыми статистическими аналитическими и визуализационными инструментами (официальная документация по lineplot). Эти библиотеки позволяют нам быстро и легко генерировать графики, которые помогают лучше понять наши данные и принимать более обоснованные решения. В целом, понимание того, как использовать эти библиотеки для построения графиков функций, является ценным навыком для всех, кто работает с данными в Python.