Введение
Matplotlib - это библиотека визуализации данных на Python. Она предоставляет широкий спектр инструментов для создания сложных и настраиваемых графиков, диаграмм и карт. Одним из наиболее полезных инструментов, предоставляемых Matplotlib, является функция fill_betweenx. Эта функция используется для заполнения области между двумя горизонтальными кривыми. В этом руководстве мы рассмотрим функцию fill_betweenx и научимся использовать ее для создания различных типов графиков.
Советы по работе с ВМ
После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится. Валидация операций не может быть автоматизирована из-за ограничений в Jupyter Notebook.
Если вы сталкиваетесь с проблемами при обучении, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Построение простой области между кривыми с использованием fill_betweenx
В этом шаге мы научимся использовать функцию fill_betweenx для создания простого графика. Мы заполним область между двумя кривыми.
import matplotlib.pyplot as plt
import numpy as np
y = np.arange(0.0, 2, 0.01)
x1 = np.sin(2 * np.pi * y)
x2 = 1.2 * np.sin(4 * np.pi * y)
fig, ax = plt.subplots(figsize=(6, 6))
ax.fill_betweenx(y, x1, x2, color='green', alpha=0.5)
ax.plot(x1, y, color='blue')
ax.plot(x2, y, color='red')
plt.show()
Создание нескольких подграфиков
В этом шаге мы научимся создавать несколько подграфиков и использовать функцию fill_betweenx для заполнения области между двумя горизонтальными кривыми в каждом подграфике.
import matplotlib.pyplot as plt
import numpy as np
y = np.arange(0.0, 2, 0.01)
x1 = np.sin(2 * np.pi * y)
x2 = 1.2 * np.sin(4 * np.pi * y)
fig, [ax1, ax2, ax3] = plt.subplots(1, 3, sharey=True, figsize=(12, 4))
ax1.fill_betweenx(y, 0, x1, color='green', alpha=0.5)
ax1.plot(x1, y, color='blue')
ax1.set_title('Fill between (x1, 0)')
ax2.fill_betweenx(y, x1, 1, color='red', alpha=0.5)
ax2.plot(x1, y, color='blue')
ax2.set_title('Fill between (x1, 1)')
ax3.fill_betweenx(y, x1, x2, color='orange', alpha=0.5)
ax3.plot(x1, y, color='blue')
ax3.plot(x2, y, color='red')
ax3.set_title('Fill between (x1, x2)')
plt.show()
Использование логических условий
В этом шаге мы научимся использовать логические условия для заполнения области между двумя горизонтальными кривыми.
import matplotlib.pyplot as plt
import numpy as np
y = np.arange(0.0, 2, 0.01)
x1 = np.sin(2 * np.pi * y)
x2 = 1.2 * np.sin(4 * np.pi * y)
fig, ax = plt.subplots(figsize=(6, 6))
ax.plot(x1, y, color='black')
ax.plot(x2, y, color='black')
ax.fill_betweenx(y, x1, x2, where=x2 >= x1, facecolor='green', alpha=0.5)
ax.fill_betweenx(y, x1, x2, where=x2 <= x1, facecolor='red', alpha=0.5)
plt.show()
Использование замаскированных массивов
В этом шаге мы научимся использовать замаскированные массивы для заполнения области между двумя горизонтальными кривыми.
import matplotlib.pyplot as plt
import numpy as np
y = np.arange(0.0, 2, 0.01)
x1 = np.sin(2 * np.pi * y)
x2 = 1.2 * np.sin(4 * np.pi * y)
x2 = np.ma.masked_greater(x2, 1.0)
fig, ax = plt.subplots(figsize=(6, 6))
ax.plot(x1, y, color='black')
ax.plot(x2, y, color='black')
ax.fill_betweenx(y, x1, x2, where=x2 >= x1, facecolor='green', alpha=0.5)
ax.fill_betweenx(y, x1, x2, where=x2 <= x1, facecolor='red', alpha=0.5)
plt.show()
Обзор
В этом уроке мы научились использовать функцию fill_betweenx в Matplotlib для заполнения области между двумя горизонтальными кривыми. Мы также узнали, как создавать несколько подграфиков и использовать логические условия и замаскированные массивы для создания различных типов графиков. Используя функцию fill_betweenx, мы можем создавать сложные и настраиваемые графики в Python.