使用 Plotpy 在 Python 中建立帶註釋的熱力圖


介紹

熱力圖是一種圖形化資料表示,其中矩陣中的每個值都分配一個唯一的顏色。熱力圖的主要目的是提高資料集中包含的場所和事件總數的視覺化精度,以及它們引導觀看者關注資料視覺化中最重要方面的準確性。

熱力圖利用顏色傳達值,最常用於提供數值的更全面檢視。這是因為熱力圖依靠顏色來表達值。近年來,分析領域越來越多地使用熱力圖,這在很大程度上歸因於它們揭示重複趨勢的適應性和效率。

Plotpy

Plotly 是一個用於 Python 程式語言的庫,可用於建立圖形,尤其是互動式圖形。它能夠生成許多不同的圖形和圖表,其中包括直方圖、條形圖、箱線圖和散點圖。它的大部分應用都集中在資料分析和金融分析領域。使用者能夠藉助 Plotly(一個庫)建立互動式視覺化。Plotly Python 庫是一個互動式開源繪圖工具包。它支援超過 40 種不同的圖表型別。這些型別的圖表可以完成各種工作,包括統計、金融、地理、科學,甚至三維工作。

Python 使用者可以透過使用 Plotly 建立互動式基於 Web 的視覺化,Plotly 構建在 Plotly JavaScript 庫 (plotly.js) 之上。這些視覺化可以在 Jupyter Notebook 中檢視,儲存為獨立的 HTML 檔案,或作為使用 Dash 的純 Python Web 應用程式的一部分提供。所有這三種選擇都可用。Plotly 公司建立了 Plotly。為了將其與 Plotly JavaScript 庫區分開來,Plotly Python 庫通常稱為“plotly.py”。這樣做是為了避免與 Plotly JavaScript 庫混淆。

熱力圖

熱力圖本質上是不言自明的。數量與顏色的深度成正比。Heatmap() 函式可以在 Plotly 應用程式的圖形物件模組中找到。需要存在 x、y 和 z 屬性。它們的值可以是列表、NumPy 陣列或 Pandas 資料幀。所有三個選項都是有效的。

熱力圖是一種二維資料視覺化,透過為矩陣中包含的每個數字分配不同的顏色來顯示資訊。

Seaborn 包使得建立帶註釋的熱力圖成為可能,然後可以使用 Matplotlib 提供的工具根據開發人員的要求對其進行自定義。

熱力圖程式碼示例

import plotly.figure_factory as ff
import numpy as npp
import seaborn as sbn

xt = [0,1,3,5,6,7,8,9,11]
yt = [2,5,11,7,8,3,5,12,3]
  
[Xx, Yy] = npp.meshgrid(xt, yt)
  
Zz = (Xx / 2) + (Yy / 4)
    
fig_plot = sbn.heatmap(Zz)
fig_plot.show()

輸出

帶註釋的熱力圖

因為它們揭示了與行或列相關的其他資訊,所以帶註釋的熱力圖是熱力圖中最重要的組成部分。註釋熱力圖將顯示為網格行,這將使大量測量值能夠相互比較。

語法

create_annotated_heatmap(z, x=None, annotation_text=None,colorscale=’Plasma’, font_colors=None, showscale=False, reversescale=False)

引數說明

x − 這裡 x 是 x 軸標籤。

y − 這裡 y 是 y 軸標籤。

z − 用於生成熱力圖的 z 矩陣。

註釋文字 − 由用於註釋的文字字串組成。尺寸必須與 z 矩陣的尺寸匹配。如果未提供文字,則會註釋 z 矩陣的值。

預設值 − z 矩陣值。

顏色比例尺 − 熱力圖顏色比例尺。

帶註釋的熱力圖程式碼示例

import plotly.figure_factory as ff
import numpy as npp
  
xt = [0,1,3,5,6,7,8,9,11]
yt = [2,5,11,7,8,3,5,12,3]
  
[Xx, Yy] = npp.meshgrid(xt, yt)
  
Zz = (Xx / 2) + (Yy / 4)
    
fig_plot = ff.create_annotated_heatmap(Zz)
fig_plot.show()

輸出

如何在熱力圖中定義顏色比例尺?

在 Plotly 中,顏色比例尺或顏色圖是一個包含各種色調的平面物理物件。它可以透過此圖中的 colorscale 選項設定。

程式碼示例

import plotly.figure_factory as pf
import numpy as npp
xt = [0,1,3,5,6,7,8,9,11]
yt = [2,5,11,7,8,3,5,12,3]
  
[Xx, Yy] = npp.meshgrid(xt, yt)
  
Zz = (Xx / 2) + (Yy / 4)
    
fig_plot = ff.create_annotated_heatmap(Zz, colorscale='rainbow')
fig_plot.show()  

輸出

在熱力圖中新增自定義顏色比例尺

import plotly.figure_factory as ff
import numpy as npp
xt = [0,1,3,5,6,7,8,9,11]

yt= [2,5,11,7,8,3,5,12,3]
[Xx, Yy] = npp.meshgrid(xt, yt)
  
Zz = (Xx / 2) + (Yy / 4)
  
custom_col = [[0.2, 'pink'], [0.3, 'blue']]
  
fig_plot = ff.create_annotated_heatmap(Zz, colorscale=custom_col)
fig_plot.show()

輸出

結論

在本文中,我們瞭解瞭如何使用 Plotly 圖形工廠模組建立帶註釋的熱力圖。

更新於:2023 年 8 月 24 日

161 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.