Введение
В этом практическом занятии вы изучите процесс создания заштрихованных графиков в Matplotlib с использованием различных методов. Также вы научитесь отображать цветовую шкалу для заштрихованного графика, избегать выбросов в заштрихованном графике и отображать разные переменные с помощью заштриховки и цвета.
Советы по работе с ВМ
После запуска виртуальной машины кликните в левом верхнем углу, чтобы переключиться на вкладку Ноутбук и приступить к практике в Jupyter Notebook.
Иногда может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы столкнетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Отображение цветовой шкалы для заштрихованного графика
В этом шаге вы научитесь отображать правильную числовую цветовую шкалу для заштрихованного графика.
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import LightSource, Normalize
def display_colorbar():
"""Display a correct numeric colorbar for a shaded plot."""
y, x = np.mgrid[-4:2:200j, -4:2:200j]
z = 10 * np.cos(x**2 + y**2)
cmap = plt.cm.copper
ls = LightSource(315, 45)
rgb = ls.shade(z, cmap)
fig, ax = plt.subplots()
ax.imshow(rgb, interpolation='bilinear')
## Use a proxy artist for the colorbar...
im = ax.imshow(z, cmap=cmap)
im.remove()
fig.colorbar(im, ax=ax)
ax.set_title('Using a colorbar with a shaded plot', size='x-large')
Исключение выбросов из заштрихованных графиков
В этом шаге вы научитесь использовать пользовательскую нормализацию для управления диапазоном отображаемых значений z в заштрихованном графике.
def avoid_outliers():
"""Use a custom norm to control the displayed z-range of a shaded plot."""
y, x = np.mgrid[-4:2:200j, -4:2:200j]
z = 10 * np.cos(x**2 + y**2)
## Add some outliers...
z[100, 105] = 2000
z[120, 110] = -9000
ls = LightSource(315, 45)
fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(8, 4.5))
rgb = ls.shade(z, plt.cm.copper)
ax1.imshow(rgb, interpolation='bilinear')
ax1.set_title('Full range of data')
rgb = ls.shade(z, plt.cm.copper, vmin=-10, vmax=10)
ax2.imshow(rgb, interpolation='bilinear')
ax2.set_title('Manually set range')
fig.suptitle('Avoiding Outliers in Shaded Plots', size='x-large')
Отображение различных переменных с помощью заштриховки и цвета
В этом шаге вы научитесь отображать разные переменные с помощью заштриховки и цвета.
def shade_other_data():
"""Demonstrates displaying different variables through shade and color."""
y, x = np.mgrid[-4:2:200j, -4:2:200j]
z1 = np.sin(x**2) ## Data to hillshade
z2 = np.cos(x**2 + y**2) ## Data to color
norm = Normalize(z2.min(), z2.max())
cmap = plt.cm.RdBu
ls = LightSource(315, 45)
rgb = ls.shade_rgb(cmap(norm(z2)), z1)
fig, ax = plt.subplots()
ax.imshow(rgb, interpolation='bilinear')
ax.set_title('Shade by one variable, color by another', size='x-large')
Резюме
В этом практическом занятии вы узнали, как создавать заштрихованные графики в Matplotlib с использованием различных методов, включая отображение цветовой шкалы для заштрихованного графика, исключение выбросов из заштрихованного графика и отображение различных переменных с помощью заштриховки и цвета. Эти методы могут быть полезны для визуализации и исследования данных в различных приложениях.