Введение
В этом практическом занятии мы научимся использовать функцию contourf в Matplotlib для создания заполненных карты уровня с логарифмической шкалой цветов. Мы будем использовать набор данных с положительными и отрицательными значениями, чтобы продемонстрировать эту функцию.
Советы по работе с ВМ
После запуска виртуальной машины нажмите в левом верхнем углу, чтобы переключиться на вкладку Ноутбук, чтобы получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импортируем необходимые библиотеки
Нам необходимо импортировать следующие библиотеки:
matplotlib.pyplotдля создания графиков и визуализацииnumpyдля генерации набора данных
import matplotlib.pyplot as plt
import numpy as np
Генерируем набор данных
Мы сгенерируем набор данных с положительными и отрицательными значениями с использованием numpy:
N = 100
x = np.linspace(-3.0, 3.0, N)
y = np.linspace(-2.0, 2.0, N)
X, Y = np.meshgrid(x, y)
## Низкий горб с выступом.
## Требуется иметь ось z/цвет в логарифмическом масштабе, чтобы мы увидели как горб, так и выступ.
## Линейный масштаб показывает только выступ.
Z1 = np.exp(-X**2 - Y**2)
Z2 = np.exp(-(X * 10)**2 - (Y * 10)**2)
z = Z1 + 50 * Z2
## Внесем некоторые отрицательные значения (нижний левый угол), чтобы вызвать проблемы с логарифмами:
z[:5, :5] = -1
## Следующее не является строго необходимым, но оно устранит
## предупреждение. Закомментируйте его, чтобы увидеть предупреждение.
z = ma.masked_where(z <= 0, z)
Создаем график
Мы будем использовать функцию contourf для создания заполненной карты уровня с логарифмической шкалой цветов:
fig, ax = plt.subplots()
cs = ax.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.PuBu_r)
cbar = fig.colorbar(cs)
plt.show()
Настраиваем график
Мы можем настроить график, добавив подписи, заголовки и изменив карту цветов:
fig, ax = plt.subplots()
cs = ax.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.coolwarm)
ax.set_title('Contourf Plot with Log Color Scale')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
cbar = fig.colorbar(cs)
plt.show()
Резюме
В этом практическом занятии мы узнали, как использовать функцию contourf в Matplotlib для создания заполненных карт уровня с логарифмической шкалой цветов. Мы также узнали, как настраивать график, добавляя подписи, заголовки и изменяя карту цветов.