通过 JMP® 共享交互式 Web 报告Heman Robinson,SAS JMP 首席软件开发人员
过去二十年,支持交互式网页的技术层出不穷。最终,业界将一种技术标准化,JMP® 开始以 HTML 版本 5(或交互式 HTML)提供报告。
交互式 HTML 支持 JMP 的许多探索性功能,包括点识别、链接和刷图。保存的报告可以通过 Web 共享,或通过电子邮件发送给同事。本文介绍了何时以及如何使用交互式 HTML 共享 JMP 结果。
背景
HTML,即超文本标记语言,是定义所有网页结构的技术( http://www.w3.org/html/)(Berners-Lee,1989年)。HTML 与层叠样式表一起用于样式设置( http://www.w3.org/Style/CSS/)(Meyer,2004年),与 JavaScript 一起用于编程( http://www.ecmascript.org/)(Crockford,2008年)。
在第 4 版中,HTML 对图形和交互的支持有限。为填补这一空白而开发的技术主要是浏览器扩展或“插件”。这些包括 Java 小程序、ActiveX 控件、Flash 和 Silverlight。
从 2011 年左右开始,网络浏览器开始支持用于图形的新 HTML 画布元素以及用于交互的新控件(例如滑块)。竞争技术在这段时间开始衰落,交互式网页开始使用 HTML5 进行支持。下图显示了求职网站 Indeed.com( http://www.indeed.com/ )广告中关键字频率的趋势。

图 1. 交互式 Web 技术职位招聘信息
为了顺应这一趋势,JMP 与其他软件产品一样,将 Web 开发从 Flash 转向了交互式 HTML。JMP 交互式 HTML 报告是一个 HTML 文件,可供以下用户共享:
- 将其发布到互联网上,
- 将其保存到共享文件夹,或
- 通过电子邮件发送给同事。

图 2. JMP 交互式 HTML 报告
何时使用它
交互式 HTML 需要嵌入数据。无论使用什么数据来创建图表,这些数据都嵌入在网页中。数据经过混淆,但有动机的黑客可以读取。
似乎可以通过加密数据来减轻这种安全风险。但事实并非如此。数据必须可被 Web 浏览器读取。因此,加密数据需要解密密钥,该密钥也可供 Web 浏览器读取 - 并且可供其他所有人读取。加密数据相当于为自己的房屋购买昂贵的防盗警报器,然后将钥匙放在垫子下面。
您可以通过匿名化数据来消除一些风险,例如创建没有名称或 ID 列的数据子集。自己创建这个子集是最安全的。但是,JMP 报告中未使用的列不会嵌入到交互式 HTML 文件中。因此,只要您不使用任何标识列作为标签或其他用途,数据就会有效地为您匿名化。
如果您分析敏感数据,则始终可以使用不嵌入数据的静态 HTML 格式(HTML 版本 4)。在“文件:另存为”对话框中,HTML4 被简单地标记为“HTML 文件”。HTML5 被标记为“带数据的交互式 HTML”,以强调交互性和安全性。

图 3. 静态 HTML (HTML4) 和交互式 HTML (HTML5) 的“文件:另存为”对话框
除了嵌入数据之外,交互式 HTML 还需要现代 Web 浏览器。在 Windows 上,Internet Explorer 版本 8 不支持 HTML 版本 5,而 IE 版本 9 和 10 仅支持部分版本。默认的 Android 浏览器较旧且速度较慢,Chrome 和其他浏览器很容易下载。
自 2015 年起,JMP 建议在以下浏览器和设备上使用交互式 HTML:
- Windows 上的 IE 11 和 Edge
- Windows 和 Mac 上的 Firefox
- Windows 和 Mac 上的 Opera
- Windows、Mac 和 Android 平板电脑上的 Chrome
- Mac 和 iPad 上的 Safari
- Kindle Fire 上的 Silk
我们不测试手机上的交互式 HTML。不过,在较新的 iPhone 和 Android 手机上,它通常运行良好。性能和功能因手机而异。
如何使用
保存报告
要以 HTML5 格式保存报告,请在 Windows 上选择“文件:另存为:”,或在 Mac 上选择“文件:导出”,然后指定格式“带数据的交互式 HTML”。

图 4. 交互式 HTML(HTML5)的“文件:另存为”对话框
交互式 HTML 支持 JMP 最常用的功能。如果您的报告包含不支持的功能,您将在对话框中看到警告,如图 5 所示。如果发生这种情况,您的报告的一部分将导出为静态图像,与静态 HTML4 相同。

图 5. 不支持功能的警告
大纲
创建交互式 HTML 报告时,创建页面时关闭的图表和表格在网页中保持关闭状态,直到您将其打开。单击或点击报告中的大纲按钮即可打开或关闭报告部分。
下图显示了如何打开“Lack of Fit”表。“Analysis of Variance”和“Parameter Estimates”表已经打开。

图 6:使用大纲按钮
JMP Interactive HTML 采用“移动优先”用户界面设计策略(Wroblewski,2011 年)。创建 Interactive HTML 报告时,您并不总是知道它会在哪些设备上被读取。因此,无论是在桌面设备还是移动设备上,按钮等控件都很大且易于使用。
菜单
使用菜单可更改报告内容的状态或外观。菜单内容取决于相关大纲的内容。例如,Profiler 有一个菜单可重置其状态。

图 7:使用 Profiler 菜单
气泡图具有广泛的菜单系统来改变其外观和行为。

图 8:使用气泡图菜单
模式
关于用户界面中的模式,传统的设计建议是“尽可能避免它们”(Nielsen,1993 年)。然而,为了支持像 JMP 这样具有丰富交互性的产品,某些模式是必要的。
一个熟悉的例子是选择模式。您可能想要选择单个对象或多个对象。单选和多选是两种不同的模式。
在桌面产品中,Shift 和 Ctrl 键用于切换选择模式。但在移动设备上,这些键并不存在。
因此,选择模式以页面顶部的一对切换按钮的形式呈现。默认情况下,按下这对按钮中的第一个按钮。这样您就可以一次选择一个对象,并取消选择所有其他对象。

图 9:选择单个对象
要选择多个对象,请单击或点击第二个切换按钮。这样您就可以选择或取消选择多个对象。
下图中,选择了三个直方图条。与 JMP 一样,所有图表都是链接在一起的,因此在一个图表中选择的行会在所有图表中突出显示(Becker 和 Cleveland,1987)(Stuetzle,1987)。

图 10:选择多个对象
Shift 和 Ctrl 键与切换按钮的行为之间存在一个有用的区别。这些键可启用临时模式切换,这往往会减少用户错误(Raskin 2000)。切换按钮可启用持久模式切换,这在移动设备上更简单且更容易学习。如果您在桌面上查看交互式 HTML 报告,则两种行为都受支持。
第二对切换按钮将焦点从整个报告切换到数据。默认情况下,按下这对按钮中的第一个按钮。在移动设备上,第一个切换按钮可让您滚动和缩放报告。在所有设备上,它可让您识别报告中的对象。交互式 HTML 报告中的几乎所有对象都可以显示一些识别信息。

图 11:识别对象
下图显示了使用 Iris.jmp 的双变量拟合,Iris.jmp 是一个 JMP 样本数据表,其中包含三种不同鸢尾花品种的 Fisher 测量值。一个数据点已通过其 X 和 Y 坐标以及行号进行标识。下表显示了p值及其相关描述。

图 12:识别数据值

图 13:描述p值
您并不总是想识别对象或操作报告。通常,您的目标是探索数据。通过单击或点击第二个切换按钮,您可以拖动矩形以选择图形中的行。这称为刷选,是探索多变量数据的重要技术(Becker 和 Cleveland,1987)。拖动矩形的中心以移动它,或拖动角落以调整其大小。

图 14:刷数据
为了获得更多功能,可以组合模式。如果您使用具有多项选择的画笔,这会导致画笔扩展选择,如下图所示“绘制”数据。
这两对模式支持数据探索中最常见、最有用的交互功能。JMP 提供了一组丰富的附加模式,其中许多模式都显示在工具面板中(Cooper 和 Reimann,2003 年)。由于光标支持不佳,工具面板隐喻在 Web 应用程序中用处不大,但其中一些模式可能会在未来版本中得到支持。

图 15:使用多项选择进行刷涂
如何实现自动化
可以使用 JMP 脚本语言 (JSL) (SAS, 2014) 自动生成交互式 HTML 报告。新命令“保存交互式 HTML”可启用此功能。
// 导出双变量拟合。
dt = 打开( “$SAMPLE_DATA/Big Class.jmp” ) ;
obj = 双变量(Y(:体重),X(:身高),拟合线);
obj << 保存交互式 HTML( "C:\Bivariate.html" );
打开(“C:\Bivariate.html”);
在上面的脚本中,“保存交互式 HTML”命令后面跟着“打开”命令。这将自动在您的默认 Web 浏览器中显示报告。
如何组织
如果您创建了许多交互式 HTML 报告,JMP 自动发布插件 (Valente、Brady 和 Kennedy,2014) 会让您受益匪浅。它提供了一种自动组织报告的方法,封面和缩略图与各个报告相关联。从 JMP 用户社区下载 JMP 自动发布插件,网址为https://community.jmp.com/docs/DOC-6689 。
JMP 自动发布插件为我们在http://www.jmp.com/jmphtml5/上的示例生成了下面的封面。

图 16. 使用 JMP 自动发布插件组织的报告
未来工作
该项目的开发由客户需求驱动。JMP 11 支持最常用的表格和图形。JMP 12 添加了气泡图和刻画器。
对于未来的版本,对 GraphBuilder 的需求相当大。我们还希望将 JMP 自动发布插件集成到主产品中,我们最感兴趣的是客户的要求。
参考
Becker R. 和 Cleveland W. (1987)。“Brushing Scatterplots”, 技术计量学 ,127-142。
Berners-Lee T. (1989).“信息管理:一项提案”, 欧洲核子研究中心 。
Cooper A. 和 Reimann R (2003)。About Face 2.0:交互设计的基本原理。Wiley,322-323。
Crockford D. (2008)。JavaScript :优点。O'Reilly 。
Meyer E. (2004)。层叠样式表:权威指南。O'Reilly 。
Nielsen J.(1993)。可用性工程。Academic Press,146-148。
Raskin J. (2000)。人性化界面:设计交互系统的新方向。ACM Press,55-59。
SAS(2014 年)。JMP 11 脚本指南,第二版。SAS Institute Inc.
Stuetzle W. (1987).“绘图窗口”, 《美国统计协会杂志》, 82,466-475。
Valente D.、Brady B. 和 Kennedy A. (2014)。“用于自动发布交互式 HTML 报告的 JMP 插件”, 2014 年 JMP 探索峰会 。
Wroblewski L. (2011).移动优先。A Book Apart。