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 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:老板你忘记了吗……我原来是来自俄罗斯的实习生…并不是在美国出生的啊!
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!