MATLAB數據可視化[2]:heatmap

All comments and opinions expressed on Zhihu are mine alone and do not necessarily reflect those of my employers, past or present.

本文內容所有內容僅代表本人觀點,和Mathworks無關

在2017a的版本中一個新增的數據可視化功能是熱點圖heatmap,下面我們就來簡單的介紹下。

老闆:來來來myc,你生日是什麼時候?

myc:我生日是……

老闆:別急,讓我來猜猜……

老闆:我們先取得2000到2014年美國新生兒數據並存至本地

%% Save datanfilename = birthData.csv;nurl = https://raw.githubusercontent.com/fivethirtyeight/data/master/births/US_births_2000-2014_SSA.csv;nwebsave(filename,url);n

老闆:讀入本地數據,將數據可視化

dataArray = readtable(filename)ndataArray =nn 5479×5 tablenn year month date_of_month day_of_week birthsn ____ _____ _____________ ___________ ______nn 2000 1 1 6 9083 n 2000 1 2 7 8006 n 2000 1 3 1 11363 n 2000 1 4 2 13032 n 2000 1 5 3 12558 n 2000 1 6 4 12466 nn...nnnheatmap(dataArray,day_of_week,month,ColorVariable, births)n

myc:天啊居然這麼快就可以將數據從獲取到最終呈現出來

老闆:沒錯,這就是table類型和heatmap功能的強大之處。

myc:可是……

老闆:你看這個數據你發現了什麼?

myc:從月份上來說,八九月出生的人最多,從每周來看,周二出生的人最多,周末最少

老闆:沒錯,從月份上來說,很多家庭都會在感恩節到聖誕節假期開始備孕,這和我們很多家庭在春節期間備孕非常相似。

從每周來看這個數據很有意思,這個現象在Martin, et al., 2006這篇報告中有過解釋,簡單來說就是順產的寶寶在每天出生的概率都差不多,但是大部分引產和剖腹產是需要和醫生預約的,這就形成了周末少,周二多的分布

myc:好有道理啊,可是我…

老闆:我們再換個顏色看看全年的分布

cmap = colormap(hot);nheatmap(dataArray,date_of_month,month,ColorVariable, births,Colormap,cmap)n

myc:哇,可以清楚的看到各大假期的出生人數明顯少很多。新年,獨立日,感恩節和聖誕節都一目了然

老闆:沒錯,這個圖告訴我們,你在9月中旬出生的概率非常大,我猜的對嗎

myc:老闆你忘記了嗎……我原來是來自俄羅斯的實習生…並不是在美國出生的啊!

推薦閱讀:

機器學習筆記14 —— BP演算法相關編程與編程作業4神經網路後向傳播演算法
【線性代數】對矩陣做初等變換
2017年,你用Matlab寫了多少行代碼
Cleve Moler 的複數步長數值微分方法
MATLAB代碼提速技巧之In-place Optimizations

TAG:数据可视化 | MATLAB |