感谢您的参与和收看。这是图库版本 10 中的一张图片。我们将分享一些非常有趣的 Graph Builder 高级技巧和窍门。我的搭档是 Scott Wise。我是 Jed Campbell,美国落基山脉地区的软件工程师。Scott 将在几分钟后分享屏幕时进行自我介绍。
我们先来个简单的预热,那就是一个 Jeopardy 游戏板。为什么要这么做呢?这能带来一些乐趣。我知道有些公司为了团队建设,会根据自身组织情况,为团队或部门制作一些小知识问答游戏。这里介绍一种在 JMP 中实现的方法。其实,这只是一个学习悬停标签的契机。
我之前提到过悬停标签。这里用到了图表构建器的技巧,我们将创建并使用一些自定义悬停标签来实现这个功能。另一个技巧是,我们将使用属性来自定义图表的某些部分。无需编写脚本,只需点击即可。我这里有数据,是从 Kaggle 下载的。如果你想玩历史游戏,实际上可以获取所有 Jeopardy 的数据。但我这里只保留了当时播出的那一天的数据。
但和往常一样,我们为您准备了图表构建步骤,方便您跟着操作。我不会在这里完整地构建整个图表,而是会构建三个图表中的一个。不过首先,我们来玩个游戏。我想向您展示一下我们要构建的图表。我马上会请Scott选择一个类别,然后我们就开始玩这个游戏。我想向您演示一下它的工作原理。Scott,您想选择哪个类别呢?
以字母 G 开头,嗯,大概是 300。
以字母 G 开头,代表 300。现在当我把鼠标悬停在上面时,会弹出这个信息。它是一种鸢尾科植物,一根花茎上最多可以开 25 朵花。
什么是剑兰?
猜得真准。如果我把鼠标悬停在这里正中间,那就是剑兰。哇,我之前不知道这个。干得漂亮!重点是,每次鼠标悬停,我都能看到不同的图表,而且我们可以很轻松地构建出来。让我从头开始。我先演示如何构建第一个图表,然后我们会用一些预先构建好的图表,不过我已经把这些图表都保存到数据表中了,所以你可以很轻松地重新创建。
总之,图表构建器的使用方法和图表构建器里的其他工具一样,首先我们要把元素拖到 x 轴和 y 轴上。不过,如果我没记错的话,在《危险边缘》(Jeopardy!)节目里,把数值放在顶部的类别上可能效果更好。同样,对于数值,我可以把它拖到 y 轴上,但如果把它拖到分组上,稍后会更适合我们。我还要把播出日期添加到 x 轴上,这样这些点才能显示出来。如果不添加,就没有数据点,而我需要这些数据点才能让图表正常显示。
我打算在这里添加一个热力图元素,然后按住Shift键点击,将这些点添加回去,使它们位于顶部。图表实际上已经基本完成了。剩下的主要是清理工作。其中一个清理步骤是设置这个形状列。
现在来说说这里的分数,我希望它显示的是实际数值。你看,当我点击“确定”后,我的“危险边缘”游戏面板就出现了,我只需要做一些小小的改动。我想把它改成蓝色,所以我会用个小技巧,直接创建一些独立的颜色,然后告诉JMP,你只有两种颜色选择。当然,第一种默认是蓝色。接下来可能还会调整一下文字的颜色和大小。
现在基本完成了,我可以点击完成,剩下的主要是清理工作。我按住 Alt 键,然后点击红色三角形。我要删除左侧列的所有内容。这样应该就能删除几乎所有东西了。
我确实知道,关键在于我这里显示的这个部分是固定的。我可以试试右键点击它。我有一些选项,但没有一个可以隐藏它。秘诀就在这里,有个叫“属性”的小按钮。它也在“编辑”菜单里。点击它之后,我几乎可以点击任何地方,点击的内容都会高亮显示。
这里的好处在于,我可以访问它的一些属性,并且可以快速地将它从可见更改为折叠。一切看起来都很顺利。我还有一件超级秘密的事情要做,那就是更改图表间距。现在,这是什么?6x5。在这个图表生成器中,我目前有 30 个不同的图表。
回想我小时候看《危险边缘》节目的情景,电视机之间总是留有一些空隙。现在我觉得我们差不多搞定了。我这里要稍微作弊一下,再调出两张图表,一张是答案,一张是问题。
记住,我们这里有操作说明,你应该能够重现这些步骤。其实原理都差不多,就是设置蓝色背景,然后告诉 JMP 将答案列用作表达式或形状。
我想要实现的是,让鼠标悬停效果生效,并且我希望它的运作顺序是:当我将鼠标悬停在这个图表上时,显示问题;然后,当我将鼠标悬停在问题上时,显示答案。
这真的非常简单。它从一个红色三角形开始,我们只需要将每个三角形对应的脚本保存到剪贴板即可。我先把这个保存到剪贴板,之后就不需要了。然后我右键点击这里,选择“悬停标签”,粘贴“GraphLabs”。把之前保存到剪贴板的内容粘贴过来。然后我重复这个步骤。就这样反复操作。我可以设置成30层嵌套。我把这个脚本保存到剪贴板。
现在,我剪贴板里的这段脚本包含了刚刚粘贴的悬停标签。如果我回到主图表,你可能会想,哦,直接右键点击并选择“悬停标签”不就行了吗,因为我们刚才就是这么做的。还记得我们有 30 个不同的图表吗?如果我按住 Control 键并右键点击,就会将这个悬停标签命令广播到所有图表。接下来,我要粘贴这个图表组件。
现在,如果我操作正确的话,无论我把鼠标悬停在哪里,都应该可以调出一个图表。让我确认一下,如果我按下了控制按钮来绘制基础图表的话。现在,无论我把鼠标悬停在哪里,都应该可以调出一个图表,然后我可以再次悬停来获得答案。这是第一个提示。接下来,我们换个话题,来看看本次课程图库中的实际图片。
我们准备了三张很棒的图表,哦不,是六张很棒的图表。我先讲前两张,然后把时间留给斯科特,所以我们直接进入正题吧。和往常一样,每张图表的步骤都在这里,所以我不会花太多时间讲解。我会快速讲解一下。
但实际上,首先要考虑的是给平滑器施加约束。为什么要这样做呢?因为平滑器应该适用于特定的应用领域。归根结底,JMP 19 现在能够生成惩罚样条曲线,而不仅仅是普通的 B 样条曲线。与其用语言描述,不如让我用图示来解释一下。
我在这里打开一个图形生成器。我给你展示几个例子,假设我有一个过程,平滑曲线不应该低于零。我该怎么做呢?答案是,我可以把平滑曲线从样条曲线改成惩罚样条曲线或 P 样条曲线。然后我可以对它进行各种有趣的操作,其中之一就是把最小值设为零。你看,当我按下回车键时,最小值就变成了零。这样,这个平滑曲线就符合我们正在绘制的图形的逻辑了。我再用一个循环的例子来演示一下。
现在,默认情况下,常规样条曲线,你可以看到,它的一端向上弯曲,另一端向下倾斜。如果这个数据是一个循环,我希望这两个端点在背景中相遇,或者神奇地重新连接起来。这很容易。我可以把它改成 P 样条曲线,现在我可以看到这个包含各种不同约束的菜单。这个约束就是循环。当我选择它时,这条样条曲线现在就与每个循环相匹配了。
我还可以设置一个例如峰谷类型的约束。如果没有这个约束,它看起来好像会找到两个谷和一个峰。但我可以修改它,让它只找到一个峰,或者如果我点击向下箭头,就只找到一个谷,或者找到一个峰和一个谷。有很多有趣的约束可以用来让数据更平滑地拟合你的数据和领域。这些功能将在 JMP 19 中推出。
下一个图表展示了一个技巧,可以让数据更清晰地显示,避免抖动,尤其是在图表中数据密集的地方。这个技巧不需要 JMP 19,它实际上运用了我们之前用过的一种方法:复制图表元素并添加一些透明度。和往常一样,我们在这里提供了具体步骤,方便您稍后复现。
但我只想快速展示一下并突出问题所在。如果我获取油箱容量和重量数据,也许我只想查看这些数据点,也许我还想将它们与车辆类型叠加显示。实际上,我会让这个问题更加明显,因为现在的标记非常小。
但如果我希望这些标记非常大,那么图表中某些部分就很难区分。如果每个点都能用轮廓线勾勒出来并且透明,我想我就能看得更清楚了。
诀窍其实很简单。只需右键单击并添加第二组数据点。现在,如果我双击图例,就可以进行更改。我可以单独或独立地更改这些标记。如果我选中第一组数据点,然后右键单击,就可以将其更改为例如这个大的实心圆。
然后我还可以右键单击,将它们的透明度设置为 50%。我还可以选中第二个组,右键单击,将其标记更改为实线轮廓。现在,在我点击这里之前,你会注意到有很多对象都有实线轮廓和实线填充。你可以对很多不同的形状进行这样的操作。为了演示,我这里就选择圆形。但是当我点击“确定”后,我现在可以更清楚地看到数据的变化情况,尤其是在一些比较棘手的地方。我可以看到这些重叠的红色和绿色元素,或者这些重叠的元素。
再说一遍,这只是一个简单易行的方法,可以更好地处理你的数据,而无需使用抖动处理,因为抖动处理可能会改变数据。接下来,Scott 将向你展示如何制作一个非常非常棒的图表。这非常实用,尽管它违反了三秒规则。现在轮到 Scott 了。
好的。你看到我的屏幕了吗?
我们看到了 Zoom。
好了,现在明白了吗?
是的。
好的。谢谢你,杰德。太棒了。开场很精彩,画廊前两张照片里的“危险边缘”团队真是太棒了。这是我们的第十届节目。我很幸运,过去十年都能参与到这个系列节目中。
再次强调,我们演示的是一个 JMP 日志,所有数据和步骤都已预先编写好脚本,我们会提供给您,以便您能够复现这些视图。接下来我将讲解最后四个视图。正如 Jeff 所提到的,有一个很棒的视图叫做“多 Y 轴图表”。这名字有点拗口。它的作用是让我们能够拥有多个 Y 轴,可以在左侧添加多个,甚至可以在右侧添加一些。它允许这些线条在同一空间内相互交互。
但 JMP 以前无法做到这一点。在 JMP 19 之前,JMP 会将所有轴标准化。但如果您现在不想进行标准化,JMP 19 提供了相应的功能。这是实验和测量设备读数中非常常见的做法,尤其是在化学、健康和生命科学领域。
虽然有些人可能会说,哦,看这张图表可能会有点困惑,但他们知道自己在寻找什么模式。这是用户呼声很高的功能。我们将使用新的平行 Y 轴功能,但为了设置它,我们将采用分段式的方法。图表区域的设置方式有其特定要求。此外,这里也是调整线条、颜色和样式的好地方。
好了,步骤都在这里,但我们直接来看数据。这些数据很简单。我有时间,而且我有几个连续列的数据,我想看看它们随时间的变化情况。我们进入图表构建器。
我接下来会在 x 轴上输入时间,y 轴上只输入第一个变量,也就是乙醇。我在这里右键点击,移除平滑器,把点改成平滑器。我只需要在这个图中使用平滑器。
首先是软化。好的,没问题。进行下一个。我想输入温度。现在,输入方法是这样的。我要把温度放在乙醇的正下方,不是放在乙醇的正下方,而是放在乙醇的正下方,这样就能创建另一个数据段。我对弹性蛋白进料也做同样的操作,对氨进料也做同样的操作。
好了,现在我已经把前面提到的那些都处理好了,我可以设置平行的y轴了。但是如果我想把东西放在右边,该怎么做呢?我们要用到一个之前用过的技巧。我想我们在图库版本的第一张图里展示过。我把空气元素和温度放在同一个区域,然后右键点击并向右移动空气元素。你看,它就被移到这一边了。
如果我对鱼缸进料做同样的操作,就能得到糖蜜,然后我把鱼缸进料移到右侧,再对 pH 值做同样的操作,把 pH 值移到氨进料中,然后我就在这里点击“完成”,然后我会回到顶部的红色三角形或“图表构建器”标题栏。现在 JMP 19 中有一个平行的 y 轴。再次提醒,JMP 19 将在今年秋季发布,就在你看到这段文字的时候。即使不是为了这个功能,也为了它其他强大的功能,一定要下载它。
点击这里,就搞定了。我这就回到那个红色三角形,向下滚动查看,然后关闭图例,把它拉长一点。我的意思是,我们把它拉伸一下。现在,你就掌握了在图形编辑器中创建平行 y 轴的好方法。
同样,标题还可以进行更多设置。您还可以返回图例设置,实际调整线条颜色、样式和宽度。这是我添加的一个示例。这是发酵数据,所以我添加了一张透明背景的发酵罐图片,以增强主题感。
好的。多重插值。接下来我们要讨论的是阶梯图。阶梯图是一种展示排名的方法,用于比较多个级别之间的排名,例如 1-5、1-10,在本例中是 1-6。
为什么需要它?因为它是一种非常有用的可视化方式,经常出现在信息图表甚至仪表盘中,而且可以轻松地对事物进行比较。
现在,JMP 中有一个大多数人不知道的小技巧,那就是 JMP 可以直接在图表构建器列选择区域中快速执行公式,并且 JMP 可以对任何具有连续列的内容进行排名。
如果你的数据没有包含位置排名,我猜那就是序数数据,那么你可以即时创建排名。我们打算这样做,并且会使用那个图标作为标记,就像杰德在《危险边缘》节目中用文字作为标记一样。
我再次说明一下步骤。这些数据来自英超联赛的足球表现。我们按赛季统计,选出了排名前六的球队,也就是六强球队。我们有他们的队徽。我知道他们赛季末的最终排名。这就是所谓的积分榜。英超共有20支球队。这些球队通常都能排进前五,或者差不多。
但与棒球的“军刀式”数据不同,足球领域正在兴起一些新的数据指标。七年前,足球开始使用xG、GA和xDiff这些指标。它们分别代表预期进球数、预期失球数,也就是你实际进球数与对方进球数之间的差值。
显然,如果你的赛季预期进球数很高,比如预期净胜球是60,那就意味着他们预期你会进很多球,失球数却很少。假设预期进球数是84,失球数是24,那么你的预期净胜球大概在60左右。这样一来,你这个赛季很可能会取得不错的成绩。
但我想要对这一列进行排名。现在,蓝色部分我已经完成了排名,但我接下来会演示一下我是如何做到的。我把这个结果复制回了我的数据表。如果我打开图表生成器,在进行任何操作之前,让我先看一下,我这里有个 xDiff 控件,我可以右键单击,然后就能得到各种快速公式。
但在此之前,我要先点击“赛季”,右键单击,然后选择“分组依据”,因为我想获取每个赛季中 xDiff 的排名,比如在前六名中,它们的预期进球差排名如何。如果我在这里右键单击,选择“分布”,我将使用“排名”和“反向排序”,现在我就有了一个虚拟列可以进行操作,我可以将其导入到我的数据中。
我可以在这里右键点击,然后进行其他操作,比如把它添加到数据表中。我就是这样把“阴影和蓝色”添加到数据表中的。你可以给它取个别的名字。我暂时就先这样吧。接下来我要把“季节”数据放进去。
我要在队伍名称旁边叠加图层。我在这里点击右键。除了积分之外,我还要添加一条线。现在你看到的看起来像是伦敦二队的地图,但实际上这是一个波动图。我可以看到不同积分在赛季中的波动情况。
好了,不过我想用一下杰德的那个技巧。我这里有所有漂亮的图标,比如各个球队的队徽。我可以点击左下角元素面板里的红色点和红色三角形,然后选择“设置形状列”。这次我用球队的队徽。好了,看起来不错。把它放大。我还可以在这里右键点击“坐标轴设置”,反转坐标轴,让视图更简洁一些。我习惯把第一名显示在最上面。
我在这里右键点击,进入“总体图表”选项卡。标记大小,Jed 也做了这个设置。我选择“其他”,然后把数值调到 10。现在我看得清清楚楚了。
这段内容原本要放到一篇博客里,我们在博客里探讨赛季预期净胜球的预测效果。例如,我们以上赛季英超冠军利物浦为例。他们最终排名第一,预期净胜球会超过40个,而他们实际达到了45个。
我们基本说对了。在所有六小时比赛的球队中,他们的预期净胜球排名第一。有时候,预测确实有效。如果我选一支像我侄子支持的那种球队,那可就糟了,他支持曼联,而曼联这几年表现都不太好。不过,就这场比赛而言,他们的表现确实在意料之中。他们最终排名第二,但预期净胜球应该是15个,而实际净胜球达到了40个。
今年,他们克服了自身的问题,表现超出预期。但再看看去年,他们最终排名联赛第15位。他们的预期净胜球为-1,而实际净胜球却更低,整个赛季的净胜球为-10。在这种情况下,他们的表现低于预期。有时候,球队的表现会超出预期,有时候则会低于预期。我要特别赞扬一下切尔西,他们一直表现稳定,希望他们能够继续进步。那是我支持的球队。
好了,虽然曲线图很有趣,但希望这个排名技巧也能对你有所帮助。我们之前也提到过,调整线条设置也是个好主意,可以给它添加一些合适的颜色。你可以在图例设置里进行这些操作。
好的。这是一张在很多版本中都提供的图表,它是凸起图。现在我们来看 JMP 19 中的新图表,这是一张矢量场图。以前我们需要使用自定义脚本来绘制这个图表。例如,风向或测量矢量,以及晶圆位置等信息都需要自定义。
它在指示方向方面非常有用。它不仅可以表示距离,还可以表示强度。现在,您可以在图表构建器中直接实现这些功能。我们将使用区间着陆区来帮助确定距离、起点、终点以及箭头线类型。
所有步骤都已列出。我找到了一些很棒的数据。我想尝试制作一个四分卫传球分布图,展示他们在比赛中的表现对比。
我回顾了去年的超级碗,老鹰队的防守非常强悍,有效地限制了酋长队四分卫的发挥,让他表现得相当糟糕。如果你是老鹰队的球迷,那绝对是一场精彩的超级碗。但我很想看看今年能否重现那种感觉。
我已经掌握了所有需要的信息。我大致知道是哪次传球,这有助于确定行顺序。我已经知道两名四分卫的位置,以及他们在这张图中的起始位置。散布图假设四分卫从球场宽度中心的开球线后撤10码。x轴为0,y轴为-10。
但这就是传球的落点。这就是结果,我已经计算出从开球线向前推进的距离。结果是负码数还是正码数?这些信息应该足够我制作图表了。如果我进入“图表”菜单,然后进入“图表生成器”,就可以开始了。我要把 x1 放在 x 轴上,y1 放在 y 轴上,一切都从这里开始。
我要输入路径 ID。让我看看。我应该输入哪个?尺寸是“损失距离”,颜色是“结果”,叠加层是“路径 ID”。现在,它似乎并没有显示任何实际效果。我要关闭平滑功能。我只需右键单击一条线即可更改该点。
看起来还是不太理想,但我还没告诉 JMP 边界在哪里。你要用这个区间来告诉它边界在哪里。我要把 x2 和 y2 都放到这个区间里。看起来还是不太理想,但在线条元素下方,我现在有了一个新的排序区域,它赋予了我更强大的功能,可以执行规则、排序、汇总或行内操作。
在这种情况下,它位于同一行内。你看。如果我们能在上面加个箭头就完美了。我们只需转到您的连接,将线路输出切换到箭头。现在我可以看到传球的走向了。这很容易做到。我想我们会用这种方法制作很多不太好的商业分析信息图。
但这真的帮了我大忙。我设置了一个小小的筛选条件,因为我掌握了传球结果和四分卫的信息。这是老鹰队的杰伦·赫茨。他打得不错,但他们的地面进攻也很出色,所以我们不必只依赖传球。
他确实有一次被拦截。他传出了两次达阵,其中一次距离很长,只有几次传球未完成,而且在球场的两侧都完成了多次传球。这与酋长队的帕特里克·马霍姆斯相比如何?
很明显,他在球场左侧完全不受重视。对方的防守阵型严密,任何传向左侧的球都只能短传,很多传球都未能成功,推进码数也少得可怜。他的大部分成功都来自右侧。
他的传球成功次数确实更多,但长传成功次数不多。他有很多传球未完成。他投出了两次代价惨重的达阵。我记得其中一次被对方回攻达阵。他的确有三次达阵传球。但显然,这不是一场典型的比赛,这都是因为对方的防守。这是一种很棒的分析方法。这是矢量场图。我很想看看你如何将它应用到你自己的数据中。
好的,我们要展示的图库中的最后一张图片是曲线柱状图。这是一款很酷的图表。我在一些图表制作论坛上看到过一个挑战,他们说人们会依赖柱状图,并把某个柱状图当作分组依据。这里我用一个柱状图来表示啤酒饮用者的酒精饮料消费偏好。
但他们说:“哇,制作这个柱状图需要很多步骤。如果我们能在构成柱状图的各个部分中加入一条曲线,岂不是很棒?” 这真是个好主意。JMP 有一些很棒的方法可以给线条下方添加阴影,还能实现 Jed 在预告片和 Jeopardy 游戏中展示的双元素技巧。我们其实可以很轻松地制作出这张图表,我觉得效果很不错。
我正在查看盖洛普民意调查的数据。我们还会用到顶部的 x 形网格,这种网格在这些曲线样式中并不常用,然后填充下方的网格。所有步骤都已列出。我们来看看这份盖洛普民意调查,它记录了过去 22 年的酒精饮料偏好。调查对象是饮酒者,他们更喜欢哪种酒?我们这里只讨论啤酒、葡萄酒和烈酒。
1992 年的数据就是他们对 1996 年的偏好。然后我们计算了每个群体的总体平均值:41% 的人喝啤酒,31% 的人喝葡萄酒,23% 的人喝烈酒。这些数据应该足够了。现在,我要在图表中使用最后这两列数据。在图表编辑器中,我会选择“百分比组均值”选项,并将它们放在这里。我会把类别放在顶部,年份放在底部。
我要在这里右键点击。我要把一个点改成一条线,然后再右键点击。这里自动添加了一个平滑曲线。我要把它改成一条线。实际上,我有两个折线图。现在,在第一个折线图中,有一个变量区域控制着该元素关注的内容。在这个例子中,我只想让你关注组均值。这条线元素显示的就是组均值,也就是组均值的百分比。
这次,我要像之前那样进入变量部分,但这次我要去掉组均值,让它关注百分比。现在我可以把连接方式改成曲线。现在我可以调整平滑度,控制曲线的弯曲程度。我喜欢曲线比较弯曲的。我可以点击填充,然后填充下方区域。我也可以只填充均值线下方的区域。你也可以去掉这里的填充,然后只填充均值线下方的区域。
无论你用哪种方法都行。我们来给它加点颜色。叠加层就能给它上色,现在就完成了。我更喜欢在曲线下方填充颜色,我觉得这样更好看。好了,这就是制作图表的方法。如果我去看一个我稍微修改过的图表,比如我调整了图例设置,加粗了线条,尝试添加颜色,还添加了一些背景图片……
这确实反映了一个情况。从图中可以看出,在过去六年左右的时间里,啤酒饮用者在饮酒人群中的受欢迎程度似乎有所下降。烈酒的饮用量似乎在上升,葡萄酒的饮用量甚至略有增长。
这反映了行业内的一个真实趋势:其他类型的酒类饮品在超市和酒吧等场所越来越受欢迎。不仅仅是混合饮料,还有各种风味饮品。这在一定程度上影响了啤酒(包括精酿啤酒)的受欢迎程度。好了,这张完整的图表非常棒。希望您喜欢。或许您也能从中找到一些数据分析的灵感。
好的。再次说明,这些是我们图库中的图片。我们会将它们提供给您。我会在您的日志中提到,我们有很多关于如何使用图表的优质自学链接、博客和教程。这里的第一个链接实际上是我们 JMP 社区 (community.jmp.com) 上的一个链接,指向图库中之前的所有图片。这是一个寻找 JMP Graph Builder 帮助中可能没有的新视图的好地方。这是用户提出的建议,我们已经找到了实现方法。这个视图很快就会添加到列表中。
太棒了!我们非常乐意听取您的想法。社区里也有一个愿望清单,叫做 JMP 愿望清单,您可以把您想要看到的图表类型写进去。我和 Jed 最喜欢的就是尝试新的视角。98% 的情况下,我们都能用图表构建器轻松实现,通常都是直接使用现成的功能,因为我们熟悉各种选项。
当然。这太有趣了。
图片来自画廊。感谢您的参与。如有任何疑问或问题,请随时提出。我们会为您解答。也请您尝试一下。
谢谢。