级别:初学者
Josh Markwordt,SAS JMP 软件开发人员
John Powell,SAS JMP 首席软件开发人员
交互式 HTML 支持 JMP 的诸多探索性功能,包括点识别、链接、刷图以及 JMP 14 中的新功能——数据过滤。保存的报告可以与同事共享,或上传到 Web 服务器,以便在任何现代 Web 浏览器中查看。除了支持数据过滤之外,JMP 14 中的交互式 HTML 还新增了对图形生成器中树状图的支持。本文演示了何时以及如何使用交互式 HTML 来共享和探索 JMP 结果。
介绍
自 JMP 11 中的交互式 HTML 项目启动以来,我们的目标一直是让那些尚未安装 JMP 的用户也能轻松使用 JMP 丰富的图形和强大的分析功能。在当今时代,网络是展示这些报告的自然平台,也是开展协作的平台。在本次演讲中,我们将概述 JMP 14 中交互式 HTML 的新功能,提供如何在 Web 上共享 JMP 交互式 HTML 报告的技巧,并分享一位海洋生物学家使用 JMP 交互式 HTML 进行研究共享和协作的一些案例。
Diamond Price vs. Carat Weight, Filtered by Color钻石价格与克拉重量(按颜色筛选)
钻石价格与克拉重量(按颜色筛选)
钻石价格与克拉重量(按颜色筛选)
JMP 14 功能
JMP 拥有众多平台和工具来分析您的数据,并且我们在每个版本中都致力于在输出中添加更多功能,以帮助您更好地在网络上探索和共享数据。在 JMP 14 中,树状图已添加到“图形生成器”输出中,并且新增了具有隐藏和选择功能的数据过滤器,方便您探索数据。
交互式 HTML 报表支持 JMP 的诸多探索性功能。您可以通过将鼠标悬停在桌面上的某个点上或在移动设备上点击该元素时显示的工具提示来识别单个数据点或图形元素。与 JMP 一样,图形之间相互关联,因此在一个图形中选择的行会在所有图形中高亮显示 [1,2]。
Selecting multiple objects and linking between graphical elements选择多个对象并在图形元素之间建立链接选择多个对象并在图形元素之间建立链接选择多个对象并在图形元素之间建立链接通过使用页面顶部显示的不同模式,然后单击或点击第二个切换按钮,您可以拖动矩形来选择图形中的行。这称为刷选,是探索多变量数据的重要技术 [1]。
Brushing points to explore the data刷积分探索数据刷积分探索数据刷积分探索数据
JMP 14 中的新功能是按列或列组合进行筛选的功能。首先,从任意 JMP 报告的红色三角形菜单中选择“本地数据筛选器”菜单项,选择一列或多列,然后点击“添加”。分类和连续筛选器的控件均受支持,并使用分布进行修饰。JMP 14 支持所有 AND 和 OR 逻辑的组合,从而允许创建一些复杂的筛选器。所有 JMP 版本都以一致的方式支持选择和隐藏状态,这简化了不了解 JMP 的用户的学习过程。
需要注意的是,在发布到文件时,交互式 HTML 输出不支持排除/包含数据的功能。这意味着,如果在 JMP 中排除了某些行,则只会导出包含的行子集,用户将无法在 Web 上浏览排除的数据。例如,下面的双变量图勾选了“包含”复选框(在 JMP 左侧),因此选择“男性”后,这些点将是唯一显示的点,也是拟合直线时唯一考虑的值。因此,此图的交互式 HTML 导出在其数据过滤器(右侧)中仅包含“男性”。
Bivariate of Big Class with only Males included before exporting to Interactive HTML导出为交互式 HTML 之前仅包含男性的大类二元变量导出为交互式 HTML 之前仅包含男性的大类二元变量导出为交互式 HTML 之前仅包含男性的大类二元变量如果您希望让用户同时探索男性和女性的身高,但最初您想将注意力集中在男性身上,请在选择男性并导出之前取消选中“包括”复选框(如左侧 JMP 中所示)。在这里您将看到,虽然交互式 HTML 中的初始图表与第一次相同,但数据过滤器同时包含男性和女性,通过过滤,您可以检查整个数据集,或单独检查任一性别。
Unchecking the Include checkbox allows you to show just the Males initially but still allow the user to explore the entire dataset.取消选中“包含”复选框,最初仅显示男性数据,但用户仍可浏览整个数据集。取消选中“包含”复选框,最初仅显示男性数据,但用户仍可浏览整个数据集。取消选中“包含”复选框,最初仅显示男性数据,但用户仍可浏览整个数据集。树状图是分析分层数据的重要图形工具。下图是使用默认选中的分割算法,根据示例数据库中的城市数据集创建的树状图。
Treemap of Cities data sized by lead levels按铅含量划分的城市数据树状图
按铅含量划分的城市数据树状图
按铅含量划分的城市数据树状图
拆分算法会创建一个树状图,其中的单元格按单元格分组名称排序。或者,也可以选择方形化算法,创建一个按单元格大小排序的树状图,在本例中,单元格大小按城市的领先水平排序。
Treemap of the Cities by lead levels using the squarify algorithm使用方形算法按铅含量划分的城市树状图
使用方形算法按铅含量划分的城市树状图
使用方形算法按铅含量划分的城市树状图
导出的 HTML 树形图支持您在 JMP 14 中从 JMP 导出之前设置的所有选项。结合本地数据过滤器,您可以在网络上探索树形图和其他图形类型。
如何通过 JMP 共享
之前的演示展示了如何在 Windows 中使用“文件”->“另存为”菜单选项将 JMP 报告保存为交互式 HTML,以及在 Mac 上使用“导出”菜单选项,以及如何使用“保存交互式 HTML()” JSL 命令从脚本创建此内容 [3]。您可以通过 Dashboard Builder 或使用“合并 Windows”功能(如我们的在线示例所示)创建功能强大的Dashboard 。但是,共享这些报告的最佳方式是什么?
这个问题的答案取决于您想要多广泛地共享文件。在内部网络中,简单的共享网络驱动器可能是最好的方法。有时电子邮件设置会阻止 HTML 内容或强制用户将大型附件下载到他们的个人机器或移动设备上。有各种各样的在线文件共享服务,但支持各不相同。截至 2017 年 9 月, Dropbox 不再呈现 HTML 内容。同样, Google Drive 在 2015 年弃用了此功能。目前,我们不能建议使用文件共享服务作为交换呈现的 HTML 内容的可靠方法——您可以共享文件,但必须下载它们或它们可能显示为文本文件,而我们真正想要做的是单击链接并查看报告。
对于不方便自行管理功能齐全的 Web 服务器的客户,有一些托管/网页设计网站,他们声称只需少量编程知识即可快速开发网站。一种名为内联框架 (inline-frame) 或 iframe 的 HTML 元素可用于将一个网页的内容嵌入另一个网页,例如 JMP 社区就允许使用 iframe 嵌入内容。但是,您选择的提供商可能不允许在其系统中使用 iframe。如果网页使用 HTTPS 协议,则您无法在 iframe 中托管 HTTP 内容,这种情况称为“ 混合内容”,它是现代浏览器的一项安全功能。考虑到您所使用的框架,这或许是一个可行的解决方案,但正如以下客户案例所示,这可能需要一些工作。
珊瑚礁客户案例
数据共享的能力已经对我们的客户产生了影响。其中一个案例是安德森·梅菲尔德博士的珊瑚礁诊断研究[4] 。多年来,他一直在世界各地收集珊瑚礁数据,并创建了一个网站,使用JMP软件分享他的数据和分析结果,以便类似的科学家或统计学家能够合作预测全球气候变化下珊瑚礁的健康状况。他的网站托管在SquareSpace上。
Dr Anderson B. Mayfield's webpage Anderson B. Mayfield 博士的网页Anderson B. Mayfield 博士的网页Anderson B. Mayfield 博士的网页他咨询了 JMP 社区,了解如何在其网站中嵌入 JMP 交互式 HTML 报告,但 SquareSpace [5] 似乎并未直接支持此操作。感谢社区的反馈,尤其是我们首席软件开发人员之一 Nascif Abousalh-Neto 的帮助,他了解到,通过将交互式 HTML 文件托管在 Amazon S3 上并使用 iframe,他可以在描述所收集数据的页面中间嵌入交互式 HTML 报告。
随着 JMP 14.2 的发布,JMP Public 现已可用,他将能够使用 JMP 交互式 HTML 报告实现同样的功能,这些报告通过连接到实时 JMP 服务器实现了高级功能。用户可以直接链接到 JMP Public 上的报告,或者系统可以轻松地将报告嵌入到其他平台,包括生成可粘贴到其他网页的 iframe HTML 标记。与独立的交互式 HTML 不同,数据可以被排除或包含,依靠 JMP 服务器处理分析并在您熟悉的 Web 界面中显示更新的结果,但 JMP Public 拥有一个简洁流畅的新用户界面。
要分享发布到 JMP Public 的报告,只需点击页面顶部的分享图标,然后选择“嵌入代码(iframe)”,如下所示:
Embedding an iframe of interactive HTML reports published on JMP Public is easy.嵌入在 JMP Public 上发布的交互式 HTML 报表的 iframe 非常简单。嵌入在 JMP Public 上发布的交互式 HTML 报表的 iframe 非常简单。嵌入在 JMP Public 上发布的交互式 HTML 报表的 iframe 非常简单。这会将用于在您的网页中生成 iframe 标签的 HTML 代码放入剪贴板,如下所示:
<IFRAME class="jmp-share-iframe" frameborder="0" width="800" height="600" src="https://public.jmp.com/api/packages/Diamond-Price-vs-Carat-Weight-Filtered-b/js-p/5bb3d86e615499085427cde3/indexPage" style="margin: 0.8em 0;"></IFRAME>
只需将此代码粘贴到您希望它出现的 HTML 页面中,就像下面对论文开头显示的图像的实时版本所做的那样,您就可以在页面中呈现交互式内容。
结论
目前,JMP 的四个版本均已支持交互式 HTML 功能。我们希望您能像 Anderson Mayfield 博士那样,以有趣的方式使用它,共同探索改善全球珊瑚礁健康的方法。我们期待了解您的成功经验和挑战,并帮助您使用 JMP 的交互式 HTML 报表和仪表板进行协作。请访问交互式 HTML 示例,或浏览JMP Public 上这篇论文中的示例。
参考
[1] Becker R. 和 Cleveland W. (1987)。“刷状散点图”, Technometrics ,127-142。
[2] Stuetzle W.(1987)。“绘图窗口”,美国统计协会杂志, 82,466-475。
[3] https://community.jmp.com/t5/Discovery-Summit-2017/Sharing-Interactive-Web-Reports-in-JMP-13/ta-p/44069
[4] http://coralreefdiagnostics.com
[5] https://community.jmp.com/t5/Discussions/posting-interactive-html-plots-on-websites/mp/60478