Как добавить текст в аннотации ячеек тепловой карты, используя 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, с помощью которых мы можем добавлять текст в аннотации ячеек тепловой карты.