Поиск по сайту:

Как добавить текст в аннотации ячеек тепловой карты, используя seaborn в Python?


Тепловые карты полезны для выявления закономерностей и тенденций в данных. Их можно дополнительно настроить, добавив к ячейкам аннотации, такие как текстовые метки или числовые значения, которые могут предоставить дополнительную информацию о данных. В этой статье мы обсудим, как добавить текст в аннотации ячеек тепловой карты с помощью Seaborn в Python. Мы рассмотрим различные методы и параметры, доступные в Seaborn, для настройки текстовых аннотаций, таких как изменение размера шрифта, цвета и формата текста.

Тепловая карта

Тепловая карта (или тепловая карта) — это своего рода визуализация данных, при которой интенсивность явления представлена разными цветами на двумерном графике. Цвета могут различаться по тону или насыщенности, чтобы показать читателю, где и как явление группируется или меняется во времени и пространстве. Существует две основные категории тепловых карт: кластерные тепловые карты и пространственные тепловые карты.

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

Сиборн

Seaborn — это пакет Python для создания диаграмм и графиков на основе данных. В качестве основы он использует matplotlib и хорошо работает с библиотекой pandas.

Seaborn помогает в обнаружении, визуализации и понимании данных. Кадры данных и массивы, содержащие полные наборы данных, обрабатываются и визуализируются с использованием методов построения графиков, которые затем выполняют необходимое семантическое картирование и статистическую агрегацию для создания информативных графиков. Благодаря декларативному API-интерфейсу, ориентированному на наборы данных, вы можете сосредоточиться на значении компонентов вашего графика, а не на технических особенностях их рендеринга.

Синтаксис тепловой карты с использованием seaborn

sns.heatmap(dt, *, vmin=None, vmax=None, cmap=None, center=None, annot_kws=None, linewidths=0, linecolor=’white’, cbar=True, **kwargs)

Объяснение

S.No

Attributes

Definition

1.

dt

It is used to convert a 2D dataset into a ndarray. If a DataFrame using pandas is supplied, the column data can be used to designate rows and columns.

2.

vamx and vmin

They provide values to use as a starting point for the colormap. If not given, these values are inferred from the data and other keyword arguments.

3.

cmap

It defines the way that data values are mapped to a color space. If you don't give a default value, it will depend on whether the center is set or not.

4.

center

When plotting different sets of data, this is the value at which to center the colormap. If no other parameter is given, this one will change the default cmap.

5.

annot

If the value of annot parameter is true then write the data in each heatmap cell.

6.

annot_kws

It defines the arguments of the function matplotlib.axes.Axes.text() only when the value of the annot parameter is true.

7.

linewidhts

This parameter defines that what will be the width of the particular line that will divide each cell.

8.

linecolor

This parameter defines that what will be the color of the particular line that will divide each cell.

9.

cbar

It defines whether we need to draw a colorbar or not.

Добавление текста в аннотации ячеек тепловой карты

Строки и столбцы тепловой карты могут быть снабжены аннотациями для обеспечения дополнительного контекста. Для параметра annot часто устанавливается значение True, чтобы отображать значения данных поверх тепловой карты.

Параметр Annot и fmt

  • Annot — функция sns.heatmap() annot (аннотации) позволяет отображать числовое значение, связанное с каждой ячейкой на тепловой карте Python seaborn. По вашим инструкциям мы можем показать исходный номер выбранной ячейки или сообщить другие номера. При передаче значения True в annot значение будет отображаться в каждой ячейке тепловой карты.

  • Fmt — параметр annot позволяет добавлять только числовые значения в ячейку тепловой карты Python, тогда как параметр fmt позволяет добавлять строковые (текстовые) значения.

Здесь создается и передается в annot двумерный массив numpy, содержащий строковые значения. Кроме того, в fmt передается строковое значение «s».

Пример

import numpy as n
import matplotlib.pyplot as p
import seaborn as s

# creating random data using numpy
df = n.array([[11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25]])

# creating text array using numpy
tx = n.array([['Amy', 'Bryn', 'Calis', 'Daisy', 'Eagel'], ['Fin', 'Garry', 'Hary', 'Ingleis', 'Jack'],
   ['Kim', 'Lasy', 'Mia', 'Nia', 'Olivia']])

# creating subplot
figure, axx = p.subplots()
 
# defining heatmap on current axes using seaborn 
axx = s.heatmap(df, annot=tx, fmt="")

Выход

Заключение

Из этой статьи мы узнали, что тепловые карты показывают масштабы явления в виде двумерного графика и могут использоваться для визуализации данных. Мы увидели, как Seaborn, библиотека Python, используется для определения тепловой карты, ее синтаксис и параметры, определяющие тепловую карту. Наконец, мы увидели, как объявить атрибуты annot и fmt, с помощью которых мы можем добавлять текст в аннотации ячеек тепловой карты.

Статьи по данной тематике: