首頁  >  文章  >  後端開發  >  如何使用Python中的seaborn在熱力圖單元格註釋中添加文字?

如何使用Python中的seaborn在熱力圖單元格註釋中添加文字?

王林
王林轉載
2023-08-19 16:09:231645瀏覽

熱力圖對於識別資料中的模式和趨勢非常有用,並且可以透過向單元格添加註釋來進一步定制,例如文字標籤或數值,這可以提供有關資料的額外資訊。在本文中,我們將討論如何使用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来在热力图的单元格注释中添加文本。

以上是如何使用Python中的seaborn在熱力圖單元格註釋中添加文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除