卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章16333本站已运行3317

如何使用Python中的seaborn在热力图单元格注释中添加文本?

热力图对于识别数据中的模式和趋势非常有用,并且可以通过向单元格添加注释来进一步定制,例如文本标签或数值,这可以提供有关数据的额外信息。在本文中,我们将讨论如何使用Python中的Seaborn在热力图单元格注释中添加文本。我们将探讨Seaborn中可用的不同方法和选项来自定义文本注释,例如更改文本的字体大小、颜色和格式。

热力图

热力图(或热图)是一种数据可视化方法,通过在二维图上使用不同颜色来表示现象的强度。颜色的色调或饱和度可能会变化,以向读者展示现象在时间和空间上的聚集或变化情况。热力图主要分为两类:聚类热力图和空间热力图。

集群热图将现象和类别显示为行和列,通过固定大小的单元矩阵来组织大小。集群的排序是有意为之的,并且有些随机,旨在通过统计研究来建议或显示。单元的尺寸完全随机,但足够大以便可读。空间热图中没有单元的概念,现象被视为不断变化的,因此大小的位置取决于其在该空间中的位置。

Seaborn

的中文翻译为:

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)

Explanation

翻译成中文为:

解释

序号

属性

定义

1.

dt

它用于将2D数据集转换为ndarray。如果提供了使用pandas的DataFrame,则可以使用列数据来指定行和列。

2.

vamx和vmin

它们提供了用作色图起点的值。如果没有提供,这些值将从数据和其他关键字参数中推断出来。

3.

cmap

它定义了数据值如何映射到颜色空间。如果没有指定默认值,将取决于是否设置了中心值。

4.

center

绘制不同数据集时,这是用于设置颜色映射的中心值。如果没有给出其他参数,这个参数将改变默认的颜色映射。

5.

annot

如果annot参数的值为true,则将数据写入每个热图单元格。

6.

annot_kws

只有当annot参数的值为true时,它才定义了函数matplotlib.axes.Axes.text()的参数。

7.

linewidhts

该参数定义了每个单元格之间的分割线的宽度。

8.

linecolor

这个参数定义了每个单元格之间的分割线的颜色。

9.

cbar

它定义了我们是否需要绘制一个色条。

在热力图单元格注释中添加文本

热力图的行和列可以进行注释以提供额外的上下文。通常将annot选项设置为True以在热力图的顶部显示数据值。

Annot and fmt parameter

的中文翻译为:

Annot和fmt参数

  • Annot − sns.heatmap() 的 annot(注释)功能允许您在 Python seaborn 热力图中显示与每个单元格关联的数值。我们可以显示所选单元格的原始数字,或根据您的指示显示不同的数字。将 True 传递给 annot 将导致在每个热力图单元格中显示该值。

  • Fmt − annot参数仅允许将数值添加到Python热力图单元格中,而fmt参数允许添加字符串(文本)值。

在这里,创建了一个包含字符串值的2D numpy数组,并将其传递给annot。另外,字符串值"s"被传递给fmt。

Example

的中文翻译为:

示例

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="")

输出

如何使用Python中的seaborn在热力图单元格注释中添加文本?

结论

在本文中,我们了解到热力图可以在二维图表中显示现象的大小,并可用于数据可视化。我们已经看到了如何使用Python的Seaborn库来定义热力图,以及定义热力图的语法和参数。最后,我们还了解了如何使用属性annot和fmt来在热力图的单元格注释中添加文本。

卓越飞翔博客
上一篇: 解决PHP Fatal error: Call to undefined function mysqli_connect() in file.php on line X
下一篇: PHP Warning: Cannot modify header information - headers already sent by - 解决方案
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏