熱線電話:13121318867

登錄
首頁大數據時代matplotlib 如何畫出熱度圖heatmap?
matplotlib 如何畫出熱度圖heatmap?
2023-03-27
收藏

Matplotlib是Python中廣泛使用的繪圖庫之一。它具有豐富的圖形功能,可以用于繪制各種類型的圖表,包括線條圖、散點圖、餅圖、柱狀圖和熱度圖(heatmap)等。

熱度圖是一種用顏色來表示數據值大小的二維圖表。通常,熱度圖用于可視化矩陣或表格式數據,并以不同的顏色來區分不同數值的數據。在本文中,我們將介紹如何使用matplotlib制作熱度圖。

準備數據

首先,我們需要準備一個數據集來繪制熱度圖。這里我們將使用numpy包生成一個隨機的 $ 10 times 10 $ 的矩陣來模擬一個數據集:

import numpy as np

data = np.random.rand(10, 10)

生成的 data 矩陣如下所示:

array([[0.82028575, 0.76881294, 0.71971194, 0.30491486, 0.67111979,
        0.17771597, 0.80438331, 0.27302774, 0.18129643, 0.63314806],
       [0.77143625, 0.63551487, 0.56306356, 0.41241424, 0.47234638,
        0.30451328, 0.65190823, 0.47868446, 0.03420709, 0.39056214],
       [0.88830154, 0.0510874 , 0.04667507, 0.63655448, 0.1009649 ,
        0.53011341, 0.88860116, 0.8072012 , 0.2627727 , 0.16129027],
       [0.03957677, 0.88986948, 0.29828759, 0.34845264, 0.07125663,
        0.85638637, 0.08063718, 0.65769739, 0.41561651, 0.82219976],
       [0.01306113, 0.02081601, 0.00762399, 0.52039123, 0.36600046,
        0.24940888, 0.21817512, 0.94152895, 0.14410661, 0.5584188 ],
       [0.18524447, 0.86325457, 0.70310962, 0.17384236, 0.56810572,
        0.05814711, 0.14610126, 0.76581545, 0.36524594, 0.0123577 ],
       [0.69838845, 0.54777405, 0.51271685, 0.74905936, 0.04087629,
        0.60057023, 0.27027469, 0.7392686 , 0.04315166, 0.09859514],
       [0.79271592, 0.69936978, 0.17137361, 0.63954807, 0.19399017,
        0.38978258, 0.3345555 , 0.33223096, 0.03575185, 0.527903  ],
       [0.20489367, 0.00811152, 0.35635863, 0.67832791, 0.0613843 ,
        0.70448221, 0.85365584, 0.88137019, 0.14431136, 0.59657908],
       [0.28042776, 0.765406  , 0.53737002, 0.89526902, 0.61241154,
        0.2861603 , 0.69044175, 0.11878924, 0.75902697, 0.28845139]])

繪制熱度圖

接下來

,我們可以使用matplotlib.pyplot.imshow()函數來繪制熱度圖。此函數接受一個二維數組作為輸入,并將其以顏色編碼的形式顯示出來。

import matplotlib.pyplot as plt

plt.imshow(data)
plt.show()

執行上述代碼后,會生成一個如下所示的熱度圖:

heatmap1.png

在熱度圖中,每個單元格的顏色表示該單元格對應的值大小。默認情況下,imshow()會根據數據范圍自動選擇顏色映射(colormap)。

我們可以通過設置cmap參數指定不同的顏色映射。常用的顏色映射包括'viridis'、'plasma'和'magma'等。例如,如果使用'magma'顏色映射,則可以通過以下方式進行設置:

plt.imshow(data, cmap='magma')
plt.show()

運行上述代碼會生成以下熱度圖:

heatmap2.png

添加標簽

通常,在繪制熱度圖時,我們可能需要添加行列標簽以更好地解釋數據。這可以通過設置xticksyticks參數來完成。我們可以在imshow()函數之前添加以下兩行代碼來設置行列標簽:

plt.xticks(range(10), ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'])
plt.yticks(range(10), ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'])

上述代碼將行列標簽分別設置為字母'a'到'j'和大寫字母'A'到'J'。然后再次運行imshow()函數,就可以得到帶有行列標簽的熱度圖:

heatmap3.png

添加顏色刻度表

最后,我們可以通過添加一個顏色刻度表來說明熱度圖中每種顏色代表的數據值范圍。這可以通過使用colorbar()函數來完成。

plt.colorbar()
plt.show()

上述代碼使熱度圖顯示一個顏色刻度表,其中最小值為0.0,最大值為1.0。

heatmap4.png

總結

本文介紹了如何使用matplotlib制作熱度圖。我們首先準備了一個隨機的 $ 10 times 10 $ 的數據集,然后使用imshow()函數繪制了熱度圖,設置了行列標簽和顏色映射,并添加了一個顏色刻度表以說明顏色代表的數據值范圍。

熱度圖是一種可視化工具,可用于探索數據集中的模式和趨勢,或者比較不同數據集之間的差異。使用matplotlib繪制熱度圖非常簡單且靈活,可以根據需求自由調整樣式和布局,進而提高數據可視化的效果。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢