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 data
filename = 'birthData.csv';
url = 'https://raw.githubusercontent.com/fivethirtyeight/data/master/births/US_births_2000-2014_SSA.csv';
websave(filename,url);
老板:读入本地数据,将数据可视化
dataArray = readtable(filename)
dataArray =
5479×5 table
year month date_of_month day_of_week births
____ _____ _____________ ___________ ______
2000 1 1 6 9083
2000 1 2 7 8006
2000 1 3 1 11363
2000 1 4 2 13032
2000 1 5 3 12558
2000 1 6 4 12466
...
heatmap(dataArray,'day_of_week','month','ColorVariable', 'births')

myc:天啊居然这么快就可以将数据从获取到最终呈现出来
老板:没错,这就是table类型和heatmap功能的强大之处。
myc:可是……
老板:你看这个数据你发现了什么?
myc:从月份上来说,八九月出生的人最多,从每周来看,周二出生的人最多,周末最少
老板:没错,从月份上来说,很多家庭都会在感恩节到圣诞节假期开始备孕,这和我们很多家庭在春节期间备孕非常相似。
从每周来看这个数据很有意思,这个现象在Martin, et al., 2006这篇报告中有过解释,简单来说就是顺产的宝宝在每天出生的概率都差不多,但是大部分引产和剖腹产是需要和医生预约的,这就形成了周末少,周二多的分布
myc:好有道理啊,可是我…
老板:我们再换个颜色看看全年的分布
cmap = colormap('hot');
heatmap(dataArray,'date_of_month','month','ColorVariable', 'births','Colormap',cmap)

myc:哇,可以清楚的看到各大假期的出生人数明显少很多。新年,独立日,感恩节和圣诞节都一目了然
老板:没错,这个图告诉我们,你在9月中旬出生的概率非常大,我猜的对吗
myc:老板你忘记了吗……我原来是来自俄罗斯的实习生…并不是在美国出生的啊!