Введение
В визуализации данных цветовые полосы используются для представления диапазона значений набора данных с использованием цветов. Matplotlib - это библиотека Python для создания различных визуализаций, в том числе и цветовых полос. В этом практическом занятии мы научимся настраивать метки делений на цветовой полосе в Matplotlib.
Советы по работе с ВМ
После завершения запуска виртуальной машины нажмите в левом верхнем углу, чтобы переключиться на вкладку Ноутбук, чтобы получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений в Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импортируем необходимые библиотеки и фиксируем случайное состояние
Сначала нам нужно импортировать необходимые библиотеки и зафиксировать случайное состояние для воспроизводимости результатов. Мы будем использовать numpy для генерации случайных данных, matplotlib.pyplot для создания визуализаций и cm из matplotlib для определения цветовых карточек.
import matplotlib.pyplot as plt
import numpy as np
from numpy.random import randn
from matplotlib import cm
## Fixing random state for reproducibility
np.random.seed(19680801)
Создаем график с вертикальной цветовой полосой
Начнем с создания графика с вертикальной цветовой полосой. Сгенерируем некоторые случайные данные с использованием randn из numpy и обрежем значения до диапазона от -1 до 1. Затем создадим объект AxesImage с использованием imshow и цветовой карты coolwarm. Наконец, добавим заголовок к графику.
## Make plot with vertical (default) colorbar
fig, ax = plt.subplots()
data = np.clip(randn(250, 250), -1, 1)
cax = ax.imshow(data, cmap=cm.coolwarm)
ax.set_title('Gaussian noise with vertical colorbar')
Настраиваем метки делений на вертикальной цветовой полосе
Далее мы настроим метки делений на вертикальной цветовой полосе. Создадим цветовую полосу с использованием colorbar и укажем позиции делений с помощью параметра ticks. Затем установим метки делений с использованием set_yticklabels для атрибута ax объекта цветовой полосы.
## Add colorbar, make sure to specify tick locations to match desired ticklabels
cbar = fig.colorbar(cax, ticks=[-1, 0, 1])
cbar.ax.set_yticklabels(['< -1', '0', '> 1']) ## vertically oriented colorbar
Создаем график с горизонтальной цветовой полосой
Теперь мы создадим график с горизонтальной цветовой полосой. Будем следовать тем же шагам, что и в шаге 2, но на этот раз будем использовать цветовую карту afmhot и установим ориентацию цветовой полосы горизонтальной.
## Make plot with horizontal colorbar
fig, ax = plt.subplots()
data = np.clip(randn(250, 250), -1, 1)
cax = ax.imshow(data, cmap=cm.afmhot)
ax.set_title('Gaussian noise with horizontal colorbar')
cbar = fig.colorbar(cax, ticks=[-1, 0, 1], orientation='horizontal')
cbar.ax.set_xticklabels(['Low', 'Medium', 'High']) ## horizontal colorbar
Отображаем график
Наконец, мы отобразим график с использованием plt.show().
plt.show()
Резюме
В этом практическом занятии мы узнали, как настраивать метки делений на цветовой полосе в Matplotlib. Сначала мы создали график с вертикальной цветовой полосой и настроили метки делений с использованием set_yticklabels. Затем мы создали график с горизонтальной цветовой полосой и настроили метки делений с использованием set_xticklabels. Настройка меток делений на цветовой полосе может помочь сделать ваши визуализации более информативными и легче читать.