分享 Visualizing MBTA Data

简介:

Visualizing MBTA Data 作者:Mike Barry and Brian Card
原文链接: http://mbtaviz.github.io/

通过@数据挖掘与数据分析 转发的 @英特尔商用频道 的相关微博,看到了这个非常出彩的数据可视化分析报告。之所以称之为报告,是因为其中详尽的数据说明和清晰的分析层次,已经不能简单地说是一个数据可视化展示了。

88d45181jw1ehi7h6y99og20a0082dtq

交通数据一直是数据可视化的一个热点,Visualizing MBTA Data(VMD)这个作品也将视角锁定在了这个领域,并选取了地铁运行数据来进行数据可视化分析。先介绍一下背景。美国波士顿的马萨诸塞湾交通局掌管着繁忙度全美排名第四的地铁系统。最近马萨诸塞湾交通局将其大量的地铁运营相关数据通过API的形式向公众开放。该API提供的数据良好的遵守了GTFS(一种由GOOGLE制订的常用于交通运输数据的数据格式)规范。

该作品的两位作者正是基于马萨诸塞湾交通局提供的良好数据源,从中提取了2014年2月整月四条地铁主干道的地铁的行驶数据,同时又通过MBTA获得了各个地铁站检票闸的人流量数据。在此基础上,作者认为可以从三个层面来展现数据:地铁的行驶,人们如何搭车地铁,地铁和乘客两者从数据上反映出的相互关联。

可以看到在拥有良好数据源的基础上,作者在提出问题的过程中,完全没有试图去提出解决地铁运营或者改善地铁运营的设想,只是希望更好地展现数据本身。首先作者的前两个问题就将数据源维持在简单的单维度信息源上,没有基于设想两者的融合展示。然后也是希望通过将两个单维数据通过可视化的形式充分展示理解后,再找数据连接点。这无论是从作者自身分析问题,还是阅读者来看这个作品都是一个非常好的分析理解过程。这种前期问题的设定也是非常值得学习的,现在更多人总是在拿到一份数据后总在想通过数据可视化最终找到一个什么问题的症结所在从而解决一个问题,却恰恰跳过了最最重要的看清数据长什么样的过程。

具体对于问题一步步的分析文章里就不详述了,因为原文已经有了非常细致说明,在这儿就说说我自己从这个作品中学到的几点。

  • 优秀的联动 
    现在,我们在制作数据可视化作品的时候已经非常注意图表间的联动了。最早在袁晓茹老师的课上了解做LinkView的优点,现在ECharts更加是做了很好地联动配置。但是在这个可视化作品里,我看到了自己一直忽视的说明文字与图表的联动。例如下图:

_2014_06_24_4_35_49

点击左边的时间段说明文字,右侧图表的时间轴会自动滚动到对应的时间段。如果说这个联动还太像图例,图中右侧的说明名字中的蓝色文字将会高亮需要注意的异常数据,这就是非常典型的文字说明与图表的联动。这样的联动在这种明细展示类型中特别好用,可以帮助用户快速进入分析过程,这种的分析结果输出不显得突兀,有别于单纯信息图表的信息输出。

  • 自身图表的完善 
    说实话刚看到作品中第一个地跌行驶数据的可视化行驶,心中咯噔了一下,这种大规模数据的展示如果在页面中出现分页的情况,非常不利于可视化的解读。虽然良好的交互以及明白了作者所要体现的问题,让我体验的感觉好了不少,但还是觉得有更好地形式来展示这份数据。作者仿佛准备抓住了我的这种心里,在这个段落的最后给了我惊喜。

_2014_06_24_4_57_01

这张图其实相当于上图的压缩版,在非常小的空间里简洁明了的展示了总体数据的形态,也非常容易捕获异常数据的所在。同时在这一个可视化上面的说明文字中也与这幅图有联动,真是让人充分感受了良好的数据阅读体验。

  • 清晰层次 
    作者在用数据可视化展现数据的同时,也通过良好的分析层次结构展现出来。无论将总的问题拆成三个层次鲜明的三大部分,还是数据可视化方法从前到后由简到繁、从分到总得设计,都让读者仿佛跟着两位作者一同完成了这个作品,所以说这篇文章本身也是对于两位作者分析过程的一种可视化展示。 

这个作品让我有点小激动,一口气写下了这篇文章,其中有什么错误的地方请大家指出。这篇文章我也放到了我们的数据可视化社区datavlab.org上,同时也欢迎大家在新浪微博上关注@DataV,继续和我讨论。谢谢大家!

目录
相关文章
|
开发框架 JavaScript 前端开发
彻底搞懂Vue中的Mixin混入(保姆级教程)
前言 Vue框架现在基本上已经占据了前端的半壁江山,Vue的数据驱动和组件化的思想深入人心。Vue全家桶可能很多小伙伴都比较熟悉,在工作上也用得比较得心应手。但是今天讲的Vue中这个Mixin的用法我相信还有很多小伙伴不知道或者没有用过,或者有些小伙伴接手别人的Vue项目时看到里面有个Mixin文件夹,也会用,但是一直都是云里雾里的状态,今天我们就好好聊聊Mixin,争取以后不在犯迷糊。
1118 0
彻底搞懂Vue中的Mixin混入(保姆级教程)
|
3月前
|
安全 IDE Java
SonarQube Server 2025 Release 4 新增功能简介 - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 4 新增功能简介 - 代码质量、安全与静态分析工具
219 0
SonarQube Server 2025 Release 4 新增功能简介 - 代码质量、安全与静态分析工具
|
5月前
|
缓存 前端开发 JavaScript
《打破微前端困局:样式冲突与资源隔离破局指南》
微前端架构因灵活开发、独立部署等优势,日益受到青睐。然而,其在实际应用中也面临样式冲突与资源隔离等难题。本文深入剖析这些问题的根源与影响,并提供CSS Modules、Shadow DOM、模块加载器等实用解决方案,助力开发者构建稳定高效的微前端系统。
153 0
|
7月前
|
分布式计算 物联网 虚拟化
《深度揭秘:软总线如何实现异构网络组网及其独特优势》
软总线技术是解决异构网络组网难题的关键力量,通过协议抽象与归一化、总线中枢智能解析、动态拓扑构建及设备虚拟化管理等方式,实现高效互联。它降低开发复杂度,提升设备兼容性与扩展性,保障数据传输的高效性与稳定性,为万物互联提供坚实支撑。在智能家居、智能工厂和交通等领域,软总线展现出强大优势,推动多设备协同与智能化发展,助力数字化转型与未来创新。
379 3
|
前端开发 JavaScript 算法
使用 JavaScript 数组方法实现排序与去重
【10月更文挑战第21天】通过灵活运用 `sort()` 方法和 `filter()` 方法,我们可以方便地实现数组的排序和去重。同时,深入理解排序和去重的原理,以及根据实际需求进行适当的优化,能够更好地应对不同的情况。可以通过实际的项目实践来进一步掌握这些技巧,并探索更多的应用可能性。
366 59
|
机器学习/深度学习 人工智能 自然语言处理
大模型的特点、重要概念及工作方式详解
大模型是具有大量参数和复杂结构的深度学习模型,通过处理大量数据实现高效任务解决。其特点包括参数规模庞大、深层网络结构、预训练与微调、多任务学习和自适应能力。重要概念有注意力机制、Transformer架构、迁移学习和分布式训练。大模型的工作方式包括输入处理、特征提取、预测与损失计算、反向传播与优化,以及评估与微调。这些特性使其在自然语言处理、计算机视觉等领域取得显著进展。
3786 0
|
缓存
计算机网络——数据链路层-可靠传输的实现机制:回退N帧协议GBN(无差错情况、累积确认、有差错情况、发送窗口尺寸)
计算机网络——数据链路层-可靠传输的实现机制:回退N帧协议GBN(无差错情况、累积确认、有差错情况、发送窗口尺寸)
976 0
计算机网络——数据链路层-可靠传输的实现机制:回退N帧协议GBN(无差错情况、累积确认、有差错情况、发送窗口尺寸)
|
监控 数据安全/隐私保护 Android开发
用最简单的方法下载微信视频号中的视频:微信视频号下载工具!
用最简单的方法下载微信视频号中的视频:微信视频号下载工具!
用最简单的方法下载微信视频号中的视频:微信视频号下载工具!
考研真题)某银行提供了 1 个服务窗口和 10 个供顾客等待时使用的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾
考研真题)某银行提供了 1 个服务窗口和 10 个供顾客等待时使用的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾
|
XML 前端开发 JavaScript
SpringMVC中单独配置<mvc:default-servlet-handler/> 导致 Controller失效
SpringMVC中单独配置<mvc:default-servlet-handler/> 导致 Controller失效
516 0