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