欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中使用matplotlib繪制熱力圖

 更新時間:2023年08月29日 11:03:56   作者:databook  
熱力圖,是一種通過對色塊著色來顯示數(shù)據(jù)的統(tǒng)計圖表,它通過使用顏色編碼來表示數(shù)據(jù)的值,并在二維平面上呈現(xiàn)出來,本文就給大家介紹一下python使用matplotlib繪制熱力圖的方法,需要的朋友可以參考下

熱力圖,是一種通過對色塊著色來顯示數(shù)據(jù)的統(tǒng)計圖表。
它通過使用顏色編碼來表示數(shù)據(jù)的值,并在二維平面上呈現(xiàn)出來。
熱力圖通常用于顯示大量數(shù)據(jù)點的密度、熱點區(qū)域和趨勢。

繪圖時,一般較大的值由較深的顏色表示,較小的值由較淺的顏色表示;較大的值由偏暖的顏色表示,較小的值由較冷的顏色表示,等等。

熱力圖適合用于查看總體的情況、發(fā)現(xiàn)異常值、顯示多個變量之間的差異,以及檢測它們之間是否存在任何相關(guān)性。

1. 主要元素

熱力圖的主要元素如下:

  • 矩形塊:每個矩形塊都有一個對應(yīng)的位置。表示某種屬性、頻率、密度等。
  • 顏色映射:通常使用漸變色帶來表示數(shù)值的大小或密度。常見的顏色映射包括從冷色調(diào)(如藍色)到熱色調(diào)(如紅色)的漸變,表示數(shù)值從低到高的變化。
  • 熱力密度:通過顏色的深淺來表示數(shù)據(jù)的密度或頻率。較淺的顏色表示較低的密度或頻率,而較深的顏色表示較高的密度或頻率。
  • 坐標軸:熱力圖通常在二維平面上顯示,因此會有兩個坐標軸,分別表示水平和垂直方向上的位置。

2. 適用的場景

熱力圖適用于以下分析場景:

  • 數(shù)據(jù)密度分析:顯示數(shù)據(jù)點的密度分布情況。它可以幫助用戶觀察數(shù)據(jù)的聚集區(qū)域和稀疏區(qū)域,從而揭示數(shù)據(jù)的分布模式和趨勢。
  • 熱點區(qū)域識別:識別數(shù)據(jù)中的熱點區(qū)域,即數(shù)據(jù)密度較高的區(qū)域。對于發(fā)現(xiàn)熱門地區(qū)、熱門產(chǎn)品或熱門事件等具有重要意義。
  • 趨勢分析:通過觀察顏色的變化,可以分析數(shù)據(jù)在不同區(qū)域或時間段的變化趨勢。
  • 空間數(shù)據(jù)分析:在地理信息系統(tǒng)(GIS)和位置數(shù)據(jù)分析中,可以顯示地理空間上的數(shù)據(jù)分布和密度,幫助用戶理解地理區(qū)域的特征和差異。
  • 網(wǎng)站流量分析:顯示用戶在網(wǎng)頁上的點擊熱度和瀏覽熱度。這有助于優(yōu)化網(wǎng)站布局、改進用戶體驗和提高轉(zhuǎn)化率。

3. 不適用的場景

熱力圖在以下分析場景中可能不適用:

  • 無序數(shù)據(jù):對于無序的數(shù)據(jù),熱力圖可能無法提供有意義的分析結(jié)果。
  • 數(shù)據(jù)缺失:如果數(shù)據(jù)中存在大量缺失值或空白區(qū)域,可能無法準確地反映數(shù)據(jù)的密度和分布情況。
  • 多個并行路徑:通常用于展示單一維度的數(shù)據(jù)分布情況。如果需要同時比較多個維度或路徑的數(shù)據(jù),熱力圖可能不是最合適的選擇。

4. 分析實戰(zhàn)

本次分析今年上半年南京主要的幾個區(qū)二手房的成交數(shù)量情況。

4.1. 數(shù)據(jù)來源

數(shù)據(jù)來自鏈家網(wǎng)南京地區(qū)的二手房成交的頁面。
整理好的數(shù)據(jù)可以從下面的地址下載:https://databook.top/lianjia/nj

各個區(qū)的二手房交易數(shù)據(jù)已經(jīng)整理成csv格式。

import os
df_dict = {}
#數(shù)據(jù)解壓的地址
fp = "d:/share/data/南京二手房交易"
for f in os.listdir(fp):
    df = pd.read_csv(os.path.join(fp, f))
    df_dict[f] = df
df_dict  #合并所有區(qū)的數(shù)據(jù)

4.2. 數(shù)據(jù)清理

清理數(shù)據(jù)的主要幾個步驟:

  • dealDate列轉(zhuǎn)換為 日期(datetime)格式
  • 按周統(tǒng)計的交易數(shù)量
  • 統(tǒng)計結(jié)果保存到新的字典中(df_stat),取日期最近的10條
df_stat = {}
for k, df in df_dict.items():
    df["dealDate"] = pd.to_datetime(df["dealDate"])
    # 最近10周的交易量
    week_sum = df.resample("W", on="dealDate").name.count()
    week_sum = week_sum.sort_index(ascending=False)
    df_stat[k.replace(".csv", "")] = week_sum.head(10)
df_stat

4.3. 分析結(jié)果可視化

更加各個區(qū)的成交數(shù)量繪制最近10周的交易熱力圖。

x_labels = []
y_labels = df_stat.keys() # Y周的標簽
data = []
for _, v in df_stat.items():
    if len(x_labels) == 0: # X軸的日期標簽
        x_labels = v.index.strftime("%Y-%m-%d").tolist()
        x_labels.reverse()
    v = v.sort_index()
    data.append(v.tolist())
plt.xticks(ticks=np.arange(len(x_labels)), 
           labels=x_labels,
           rotation=45)
plt.yticks(ticks=np.arange(len(y_labels)), 
           labels=y_labels)
plt.imshow(data, cmap=plt.cm.hot_r)
plt.colorbar()
plt.show()

從熱力圖中可以看出,江寧區(qū)浦口區(qū)的成交數(shù)量明顯多于其他區(qū),尤其是江寧區(qū)。
其次是鼓樓區(qū)秦淮區(qū)稍好一些(可能和這2個區(qū)學(xué)區(qū)房比較多有關(guān)),而溧水區(qū)六合區(qū)明顯交易量不行。

以上就是python中使用matplotlib繪制熱力圖的詳細內(nèi)容,更多關(guān)于python matplotlib熱力圖的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python抓取網(wǎng)頁中的圖片示例

    python抓取網(wǎng)頁中的圖片示例

    這篇文章主要介紹了python抓取網(wǎng)頁中圖片的示例,需要的朋友可以參考下
    2014-02-02
  • 深入解析Python中的復(fù)雜異常處理機制

    深入解析Python中的復(fù)雜異常處理機制

    在?Python?編程中,異常處理不僅是一項基本技能,更是一種高級藝術(shù),本文將帶大家深入了解下Python中的復(fù)雜異常處理機制,希望對大家有所幫助
    2025-01-01
  • Python?調(diào)用GPT-3?API實現(xiàn)過程詳解

    Python?調(diào)用GPT-3?API實現(xiàn)過程詳解

    這篇文章主要為大家介紹了Python?調(diào)用GPT-3?API實現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Python讀寫Excel文件庫的實現(xiàn)示例

    Python讀寫Excel文件庫的實現(xiàn)示例

    本文主要介紹了Python讀寫Excel文件庫的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • python庫lxml在linux和WIN系統(tǒng)下的安裝

    python庫lxml在linux和WIN系統(tǒng)下的安裝

    這篇內(nèi)容我們給大家分享了lxml在WIN和LINUX系統(tǒng)下的簡單快速安裝過程,有興趣的朋友參考學(xué)習(xí)下。
    2018-06-06
  • 用pushplus+python監(jiān)控亞馬遜到貨動態(tài)推送微信

    用pushplus+python監(jiān)控亞馬遜到貨動態(tài)推送微信

    這篇文章主要介紹了用pushplus+python監(jiān)控亞馬遜到貨動態(tài)推送微信的示例,幫助大家利用python搶購商品,感興趣的朋友可以了解下
    2021-01-01
  • Spring異常處理?bug的問題記錄(同一份代碼,結(jié)果卻不一樣)

    Spring異常處理?bug的問題記錄(同一份代碼,結(jié)果卻不一樣)

    這篇文章主要介紹了Spring異常處理?bug的問題記錄(同一份代碼,結(jié)果卻不一樣)的相關(guān)資料,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2025-05-05
  • Django 大文件下載實現(xiàn)過程解析

    Django 大文件下載實現(xiàn)過程解析

    這篇文章主要介紹了Django 大文件下載實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • python中is與雙等于號“==”的區(qū)別示例詳解

    python中is與雙等于號“==”的區(qū)別示例詳解

    Python中有很多運算符,下面這篇文章主要給大家介紹了關(guān)于python中is與雙等于號“==”區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • python3 requests庫實現(xiàn)多圖片爬取教程

    python3 requests庫實現(xiàn)多圖片爬取教程

    今天小編就為大家分享一篇python3 requests庫實現(xiàn)多圖片爬取教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論