在睡眠中看见新天地-用G2探索睡眠可视化
2023-09-16 03:54:20
近来,我对数据可视化充满了兴趣和热情。拥有了将近一年的 Misfit手环,然而,Misfit App 只提供每日和月度统计,似乎无法实现长期数据分析的要求。值得庆幸的是,Misfit 有开放API,让我可以调用他的 API 来拉取数据。于是我便提取了 2014 年 4 月到 2015 年 4 月的睡眠数据,进行了一个初步的分析。
数据可视化,是用图形的方式表达数据,让我们能够直观、清晰地看到数据背后的含义,或者说让我们一眼抓住重点,看见不曾注意过的价值。在视觉效果展现的同时,数据更偏向于通过结构化、定量化数据,对于数据爱好者来说,数据越多越代表着越来越接近真实的本质。而可视化后呈现出来图形则偏向于感性化,用于对复杂的数字信息进行理解并形成对数据的整体认识。视觉效果或多或少会影响数据的真实性。
数据的价值隐藏在数据的处理之中,优秀的可视化手法和工具,更容易让数据传达自身的价值,成为一幅既美观又实用的图表。
要进行睡眠的可视化,必须先将睡眠数据进行分类,比如分为 深度睡眠、浅睡眠和清醒 时间。总共 365 天的睡眠数据,图表如何呈现?这里,选择使用 G2 图形库对数据进行可视化。G2 图形库是一个语法结构非常简单的 JavaScript 可视化工具,功能强大,适合初学者学习。
首先,引入 G2 图形库,利用 Shape 图,表示浅度睡眠。
const shape = new G2.Shape({
containerId: 'container',
width: 800,
height: 600,
animate: true
});
接下来,给图形定义数据源。
const data = [
{ year: '2014', value: 56 },
{ year: '2015', value: 78 }
];
最后,渲染图形。
shape.render();
另外,可以添加一些交互效果,比如在图形上添加一个 tooltip,鼠标悬停在图形上时,显示该点的数据信息。
shape.on('plotitemleave', function(ev) {
var tooltip = document.getElementById('tooltip');
tooltip.style.display = 'none';
});
通过对数据的观察,通过可视化我们可以得到哪些有用的信息呢?
- 最长连续深度睡眠时间是 142 分钟,最短是 4 分钟。
- 最长连续浅睡眠时间是 25 分钟,最短是 4 分钟。
- 平均深度睡眠时间是 39 分钟,平均浅睡眠时间是 23 分钟。
- 在一年中,最长的清醒时间是 47 分钟,最短是 4 分钟。
- 平均清醒时间是 17 分钟。
通过分析睡眠数据,我们可以发现一些有趣的规律。比如,在一年中,最长的清醒时间是 47 分钟,最短是 4 分钟。平均清醒时间是 17 分钟。这表明,我们的大部分睡眠时间都是在浅睡眠中度过的,也就是没有那么熟睡的状态。
又比如,最长连续深度睡眠时间是 142 分钟,最短是 4 分钟。平均深度睡眠时间是 39 分钟。这表明,我们的大部分深度睡眠时间都是在前半夜。
了解这些规律,对我们改善睡眠质量是很有帮助的。比如,如果我们想要提高睡眠质量,我们可以尝试在前半夜睡觉,或者在睡前半小时做一些放松的事情,比如听听舒缓的音乐,或者洗个热水澡。
总之,数据可视化可以帮助我们更直观、更清晰地看到数据背后的含义,让我们一眼抓住重点,看见不曾注意过的价值。在分析数据时避免产生错误。