在JSM 2019,我正在参加一个会议动态交互式数据可视化. 当我第一次受会议主席 Blanton Godfrey 邀请做演讲时,我的第一个想法是,“当然,JMP 有很多动态和交互式数据可视化。”但很快又转过一个念头,“那到底是什么意思? 现在一切都是互动的。”
这让我走上了尝试对不同的交互方法进行分类的道路。 崇高的目标是帮助定义数据可视化交互性的分类,这将有助于比较产品或讨论个别实施。 在最初的努力中,我对九种技术进行了分类,并附有内部交互的示例视频JMP .
- 图构建
- 选择链接
- 行过滤
- 悬停细节
- 模型调整
- 美学映射
- 列切换
- 卷切片
- 轴缩放
我在整个示例视频中使用相同的数据集。 它包含美国 3,000 多个县的 60 多列人口统计、经济和选举数据。 现在介绍方法!
图构建
交互式图形构建意味着使用即时视图更新来构建或重构图形。 在 JMP 中,相互作用直接出现在表面上。 其他实现仍然可以与图形旁边的拖放区交互。
该视频强调了几个挑战。 当添加第二个 Y 变量“Rep Pct”时,Y 下降区比以前更多,因此我们可以指定相对于现有 Y 变量的放置位置。 Color 和 Size 拖放区是人为的,因为它们与 X 和 Y 轴变量的自然位置不同。
这个结尾图表很像纽约时报文章标题为“最保守的县是获得最多政府援助的县”。有一些推特上的讨论关于回归线和其他特征。 这促使我自己收集和探索数据(经济分析局和托尼麦戈文的选举结果). 当我意识到我在探索过程中使用了多少交互方法时,我认为这将成为一个合适的演示数据集。
选择链接
当有多个视图使用同一个数据表时,选择链接意味着在一个视图中突出显示的元素在其他视图中突出显示其对应的元素。 在 JMP 中,选择链接一直处于打开状态,这意味着即使有数百万行,它也必须很快。 为了实现这一点,选择被作为每个数据表的核心部分。
最大的挑战是当图形元素之间没有一对一的对应关系时,例如示例中的县级点和州级形状。 以清晰的方式显示任何图形类型的部分选择是一个开放的挑战。 对于地图,当在别处选择任何县时,JMP 会突出显示整个州的形状。 对于按计数确定大小的图表元素,例如直方图条,JMP 将使用部分突出显示来反映部分选择。
行过滤
行过滤是最常见的数据可视化交互类型之一。 这个想法是可视化只使用数据表行的一个子集,基于出现在视觉旁边的过滤器的约束。
我在视频中使用了一个名为“锁定比例”的选项,以在过滤时保持坐标轴固定。 否则,它们将针对每个过滤后的子集进行调整。
悬停细节
一种被动的交互方式是将鼠标悬停在图形元素上,然后会出现一个包含更多细节的浮动窗口。 有时这些被称为“工具提示”,因为它们最初用于工具栏图标。 在数据可视化中,悬停细节是一种显示图表变量更精确值以及其他相关变量的方法。
在该示例中,请注意县名包含在散点图的悬停详细信息中,即使该变量不在图表中也是如此。 那是因为数据表中的变量标有一个属性,导致它默认出现在所有悬停详细信息中。
模型调整
模型调整意味着视觉表示随着模型参数的变化而变化。 在示例中,模型是样条平滑器,模型参数是刚度参数 lambda。
虽然许多模型对于这种交互式调整来说太慢了,但计算机的速度足以完成比我们通常意识到的更多的事情。 这个看起来简单的模型有很多事情要做。 有四个独立的平滑器,每个平滑器都有 250 倍的自举置信区间,因此每次刚度参数变化时都会拟合 1,000 个样条模型。
美学映射
将美学属性映射到图形元素是一种简单但重要的交互。 对于美学,例如颜色和线条样式,您通常需要查看它才能知道它的效果如何。
简单的属性可以通过右键单击来更改,而更复杂的属性(例如渐变颜色映射)需要设置对话框,因此交互性较低。
列切换
在列切换中,您将一个或多个数据列替换为一组中的另一列。 此处,Y 变量被左侧面板中的列一一替换。
列切换是快速浏览新数据集的好方法。
卷切片
体积切片是一种通过绘制一组二维切片来探索多维数据空间的方法。 这剖析器在 JMP 中使用切片来探索多维模型。 在此示例中,我们针对三个因素(个人收入、个人转移和选票率)在 Y 上对 Rep Pct 进行建模,从而生成四维表面。 每帧显示一个 X 的切片,而其他 X 保持固定。
Personal Transfer 似乎没有什么影响(至少在这个切片中它主要是一条平线),但是当我们与它交互并更改其他框架使用的固定值时,我们看到与 Personal Income 的交互。 个人收入对于高个人转移具有松散的正斜率,对于低个人转移值具有强负斜率。
轴缩放
比例尺定义了数据值如何映射到屏幕坐标,并且它本身可视化为一个轴。 轴缩放交互是通过直接操纵轴来更改映射的能力。 交互包括平移、拉伸和缩放。
轴缩放并不总是只是在不同位置重新绘制元素的问题。 请注意,右侧的点图必须针对新比例调整其标记躲避布局,并且轴本身有时必须重新计算诸如刻度线间隔之类的东西。 在案例或地理可视化中,根据比例切换投影甚至很有用。
对于 JMP,区域尺度使用阿尔伯斯等面积投影,世界尺度使用卡夫赖斯基七世妥协投影。
更多互动?
鉴于这九种数据可视化交互方式,我们可以更好地思考进一步的问题:
- 还有哪些通用的交互方式在数据可视化中有用? 我说的是“通用”方法,因为我认为针对特定类型图形的专业交互的数量没有限制。 例如,JMP 有一种交互式更改直方图 bin 大小的方法,我没有将其作为一般方法包含在此处。
- 这些方法中的一些是否应该拆分成多个方法? 也许卷切片对于数据探索和模型探索是不同的。 我正在考虑将交互式图形大小调整作为一种轴缩放,但也许值得拥有自己的类别。
- 这些方法中的一些是否应该组合为同一方法的变体? 也许行过滤和列切换是更大的子集交互的两个变体。
- 这些方法是否有更好的名称,无论是已有的还是新的? 其中一些名称来自 JMP 术语,一些是我自己为本次讨论发明的。
- 是否应该识别每种方法的不同级别? 例如,我们是否应该区分有或没有实时预览的图形构建。
我希望在这里、JSM 或 Twitter 上听到关于这些问题和其他问题的反馈。
我从来没有真正想过有多少种不同的方式可以与 JMP 交互。 这真的很了不起,尤其是考虑到您强调的所有复杂挑战时。 一如既往的好帖子。 谢谢,珊。