Plotly - 熱力圖



熱力圖(或熱圖)是一種圖形化資料表示方法,其中矩陣中包含的各個值表示為顏色。熱力圖的主要目的是更好地視覺化資料集中的位置/事件的體積,並幫助引導檢視者關注資料視覺化中最重要的區域。

由於熱力圖依賴於顏色來傳達數值,因此它們最常用於顯示數值的更概括檢視。熱力圖用途廣泛且高效,能夠吸引人們的注意力,並發現趨勢,因此它們在分析領域越來越受歡迎。

熱力圖天生具有自解釋性。顏色越深,數量越大(值越高,分散度越緊密等)。Plotly 的 graph_objects 模組包含Heatmap() 函式。它需要 x、yz 屬性。它們的值可以是列表、NumPy 陣列或 Pandas 資料框。

在以下示例中,我們有一個 2D 列表或陣列,它定義了要顏色編碼的資料(不同農民的年產量,以噸為單位)。然後,我們還需要兩個列表,分別列出農民的姓名和他們種植的蔬菜。

vegetables = [
   "cucumber", 
   "tomato", 
   "lettuce", 
   "asparagus",
   "potato", 
   "wheat", 
   "barley"
]
farmers = [
   "Farmer Joe", 
   "Upland Bros.", 
   "Smith Gardening",
   "Agrifun", 
   "Organiculture", 
   "BioGoods Ltd.", 
   "Cornylee Corp."
]
harvest = np.array(
   [
      [0.8, 2.4, 2.5, 3.9, 0.0, 4.0, 0.0],
      [2.4, 0.0, 4.0, 1.0, 2.7, 0.0, 0.0],
      [1.1, 2.4, 0.8, 4.3, 1.9, 4.4, 0.0],
      [0.6, 0.0, 0.3, 0.0, 3.1, 0.0, 0.0],
      [0.7, 1.7, 0.6, 2.6, 2.2, 6.2, 0.0],
      [1.3, 1.2, 0.0, 0.0, 0.0, 3.2, 5.1],
      [0.1, 2.0, 0.0, 1.4, 0.0, 1.9, 6.3]
   ]
)
trace = go.Heatmap(
   x = vegetables,
   y = farmers,
   z = harvest,
   type = 'heatmap',
   colorscale = 'Viridis'
)
data = [trace]
fig = go.Figure(data = data)
iplot(fig)

上述程式碼的輸出如下所示:

Heatmap
廣告