Python

Тепловые карты и шкалы цветов в Matplotlib

Тепловые карты и шкалы цветов в Matplotlib
Визуализация данных - один из самых важных шагов в науке о данных (или любой другой науке, если на то пошло). Мы, люди, плохо разбираемся в рядах чисел. Вот почему всегда полезно иметь такую ​​утилиту, как Matplotlib, чтобы помочь нам развить визуальную интуицию того, что происходит, когда, скажем, алгоритм машинного обучения классифицирует огромные объемы данных.

Хотя графики, показывающие взаимосвязь между двумя переменными, такими как рост и вес, можно легко построить на плоском экране, как показано ниже, все становится действительно беспорядочным, когда у нас более двух параметров.

Вот когда люди пытаются переключиться на 3D-графики, но они часто сбивают с толку и неуклюжие, что сводит на нет всю цель визуализации данных. Нам нужны тепловые карты для визуализации.

Что такое тепловые карты?

Если вы посмотрите на изображение с тепловизионной камеры, вы увидите буквальную тепловую карту. Тепловизионная камера отображает разную температуру разными цветами. Схема окраски обращается к нашей интуиции, что красный - это «теплый цвет» и принимает синий и черный цвета для обозначения холодных поверхностей.

Этот вид на Марс - действительно хороший пример, где холодные регионы имеют синий цвет, тогда как более теплые регионы в основном красные и желтые. Цветовая шкала на изображении показывает, какой цвет представляет какую температуру.

Используя matplotlib, мы можем связать точку (x, y) на графике с определенным цветом, представляющим переменную, которую мы пытаемся визуализировать. Это не обязательно должна быть температура, это может быть любая другая переменная. Мы также будем отображать цветная полоса рядом с ним, чтобы указать пользователям, что означают разные цвета.

Часто можно встретить упоминание цветовых карт вместо тепловых карт. Они часто используются как взаимозаменяемые. Цветовая карта - это более общий термин.

Установка и импорт Matplotlib и связанных пакетов

Чтобы начать работу с Matplotlib, убедитесь, что у вас установлен Python (желательно Python 3 и pip). Вам также понадобится тупой, странный а также панды работать с наборами данных. Поскольку мы собираемся построить простую функцию, только два пакета тупой а также matplotlib будут необходимы.

$ pip install matplotlib numpy
# или если у вас установлены два и три Python
$ pip3 установить matplotlib numpy

После того, как вы установили библиотеки, вам необходимо убедиться, что они импортированы в вашу программу python.

импортировать numpy как np
импортировать matplotlib.pyplot как plt

Теперь вы можете использовать функции, предоставляемые этими библиотеками, используя синтаксис типа нп.numpyfunction ()а также  plt.someotherfunction ().

Несколько примеров

Начнем с построения простой математической функции, которая берет точки на плоскости (их координаты x и y) и присваивает им значение. На скриншоте ниже показана функция вместе с графиком.

Разные цвета представляют разные значения (на что указывает шкала рядом с графиком). Давайте посмотрим на код, который можно использовать для генерации этого.

импортировать numpy как np
импортировать matplotlib.pyplot как plt
 
# Математическая функция, которую нам нужно построить
def z_func (x, y):
return (1 - (x ** 2 + y ** 3)) * np.ехр (- (х ** 2 + у ** 2) / 2)
# Настройка входных значений
х = np.аранж (-3.0, 3.0, 0.1)
y = np.аранж (-3.0, 3.0, 0.1)
X, Y = np.сетка (x, y)
 
# Вычисляем результат и сохраняем его в массиве Z
Z = z_func (X, Y)
 
im = plt.imshow (Z, cmap = plt.см.RdBu, протяженность = (- 3, 3, 3, -3), интерполяция = 'билинейная')
 
plt.палитра цветов (im);
 
plt.title ('$ z = (1-x ^ 2 + y ^ 3) e ^ - (x ^ 2 + y ^ 2) / 2 $')
 
plt.показывать()

Первое, что следует заметить, это то, что мы импортируем только matplotlib.pyplot небольшая часть всей библиотеки. Поскольку проект довольно старый, в нем накопилось много всего за годы. Например, matplotlib.в свое время pyplot был популярен, но теперь это просто историческая реликвия, и его импорт просто добавляет больше раздутий в вашу программу.

Затем мы определяем математическую функцию, которую хотим построить. Он принимает два значения (x, y) и возвращает третье значение z. Мы определили функцию, которую еще не использовали.

В следующем разделе рассматривается задача создания массива входных значений, для этого мы используем numpy, хотя вы можете использовать сборку в диапазон() функция для него, если хотите. После того, как список значений x и y подготовлен (в диапазоне от отрицательных 3 до 3), мы вычисляем значение z из него.

Теперь, когда мы рассчитали наши входы и выходы, мы можем построить результаты. В plt.imshow () сообщает python, что изображение будет связано с Z, который является нашей выходной переменной. Также сказано, что это будет цветовая карта, cmap, с красным синим (RdBu) Шкала от -3 до 3 по любой оси. В интерполяция параметр делает график более плавным, искусственно. В противном случае ваше изображение будет выглядеть довольно неровным и грубым.

На этом этапе график создан, но не распечатан. Затем мы добавляем цветовую полосу сбоку, чтобы помочь сопоставить разные значения Z с разными цветами, и упоминаем уравнение в заголовке. Это делается поэтапно plt.палитра цветов (im) а также plt.заглавие(… ). Наконец, вызов функции показывает нам график на экране.

Возможность повторного использования

Вы можете использовать приведенную выше структуру для построения любой другой двухмерной цветовой карты. Вам даже не нужно придерживаться математических функций. Если у вас есть огромные массивы данных в вашей файловой системе, возможно, информация об определенных демографических данных или любые другие статистические данные, которые вы можете подключить, изменив X, Y значения без изменения раздела цветовой карты.

Надеюсь, эта статья оказалась для вас полезной, и если вам нравится похожий контент, дайте нам знать.

Курсор прыгает или перемещается случайным образом при наборе текста в Windows 10
Если вы обнаружите, что ваш курсор мыши прыгает или перемещается сам по себе, автоматически, случайным образом при вводе текста на ноутбуке или компью...
Как изменить направление прокрутки мыши и сенсорной панели в Windows 10
Мышь а также Сенсорная панельs не только упрощают вычисления, но и делают их более эффективными и требуют меньше времени. Мы не можем представить себе...
Как изменить указатель мыши и размер курсора, цвет и схему в Windows 10
Указатель мыши и курсор в Windows 10 - очень важные аспекты операционной системы. То же самое можно сказать и о других операционных системах, так что,...