第10章 可视化交互

本章涵盖以下内容:

  • 鼠标交互
  • 多点触摸设备交互
  • 缩放和平移行为的实现
  • 拖曳行为的实现

可视化设计的最终目标是优化应用,以帮助人们更有效地认知。

——C. Ware(2012年)

数据可视化的目标,是通过比喻、心智模型对比、认知放大等方式,帮助用户更快更有效地从大量数据中获取信息。到现在为止,本书中已经介绍了D3中的几种不同的技术,用以实现不同类型的可视化。然而,我们还没有碰触到可视化中比较重要的那部分——人机交互。很多研究都认为人机交互在信息可视化中具有独一无二的价值。

可视化与计算控制结合可大大加快复杂情形的分析速度……这个案例充分表明,这种方式可以延展模型的适用性。

——I. Barrass与J. Leng(2011年)

在本章中,我们主要学习D3的人机交互,即为我们的可视化图形添加计算控制能力。

鼠标是桌面和移动计算设备中最为常见和流行的人机交互设备。即便在多点触摸设备大行其道的今天,触摸事件还是会处理为鼠标事件。本节,我们将学习如何通过D3处理标准的鼠标事件。

在浏览器中打开如下文件的本地副本:

https://github.com/NickQiZhu/d3-cookbook-v2/blob/master/src/chapter10/  
mouse.html。

下面的代码示例中,我们研究在D3中注册和处理与鼠标事件的相关技术。这个例子虽然比较特殊,仅处理了点击和移动,但它用到的技术都能很容易地用到其他鼠标事件上。

<script type="text/javascript">   var r = 400;   var svg = d3.select("body") ...

Get D3 4.x数据可视化实战手册(第2版) now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.