Как использовать функцию fill_between в matplotlib

Метод "fill_between" в библиотеке Matplotlib позволяет заполнить область между двумя кривыми, заданными массивами данных. Он часто используется для визуализации разницы между двумя функциями или для выделения области под кривой.

Вот пример использования метода "fill_between" для заполнения области между кривыми:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.fill_between(x, y1, y2, color='gray', alpha=0.5)

plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.show()

В данном примере мы создаем два массива данных "y1" и "y2", соответствующих двум функциям. Затем мы используем функцию "fill_between" для заполнения области между этими кривыми. Мы также задаем цвет заполнения и прозрачность с помощью параметров "color" и "alpha".

Результатом выполнения кода будет график с заполненной областью между функциями "sin(x)" и "cos(x)".

Детальный ответ

Matplotlib fill_between: Полное объяснение

В этой статье мы рассмотрим функцию fill_between в библиотеке matplotlib и как использовать ее для закрашивания области между двумя кривыми.

Что такое функция fill_between?

Функция fill_between в библиотеке matplotlib используется для закрашивания области между двумя кривыми или между кривой и осью координат.

Синтаксис функции fill_between

Вот синтаксис функции fill_between:

plt.fill_between(x, y1, y2, where=None, interpolate=False, color=None, alpha=None)

Аргументы:

  • x: массив значений x координат
  • y1: массив значений y1 координат
  • y2: массив значений y2 координат
  • where: условие, определяющее область, которую нужно закрасить
  • interpolate: булево значение, указывающее, следует ли выполнять интерполяцию для указанного where
  • color: цвет закрашиваемой области
  • alpha: прозрачность закрашиваемой области (значение от 0 до 1)

Примеры использования функции fill_between

Давайте рассмотрим несколько примеров использования функции fill_between:

Пример 1: Закрашивание области между двумя кривыми

Предположим, у нас есть две кривые - y1 и y2, которые зависят от значения x. Мы хотим закрасить область между этими двумя кривыми. Вот как это сделать:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label='y1')
plt.plot(x, y2, label='y2')
plt.fill_between(x, y1, y2, color='blue', alpha=0.3)

plt.legend()
plt.show()

В этом примере мы задаем массив x значений от 0 до 10 и вычисляем массивы y1 и y2, используя функции sin и cos из библиотеки numpy. Затем мы строим графики для y1 и y2 с помощью функции plot. И, наконец, мы используем функцию fill_between для закрашивания области между этими двумя кривыми синим цветом и прозрачностью 0,3.

Пример 2: Закрашивание области между кривой и осью координат

Предположим, у нас есть одна кривая y, зависящая от значения x. Мы хотим закрасить область между этой кривой и осью координат. Вот как это сделать:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y = np.sin(x)

plt.plot(x, y, label='y')
plt.fill_between(x, y, color='green', alpha=0.5)

plt.legend()
plt.show()

В этом примере мы снова задаем массив x значений от 0 до 10 и вычисляем массив y с помощью функции sin из библиотеки numpy. Затем мы строим график для y с помощью функции plot. И наконец, мы используем функцию fill_between для закрашивания области между этой кривой и осью координат зеленым цветом и прозрачностью 0,5.

Заключение

В этой статье мы рассмотрели функцию fill_between в библиотеке matplotlib и продемонстрировали, как использовать ее для закрашивания области между двумя кривыми или между кривой и осью координат. Надеюсь, эта информация была полезной для вас!

Видео по теме

Matplotlib Tutorial (Part 5): Filling Area on Line Plots

Matplotlib Tutorial - Part 11: Fill Between Plots

Fill area of chart using matplotlib in python

Похожие статьи:

Как использовать функцию fill_between в matplotlib