图形生成器:如何为每个系列制作具有一定位移的堆积图你好 - 我在 Excel 中有一个电子表格,它输出多个系列的图,这些系列全部堆叠并彼此移位,但也允许重复具有更紧密的间距,如下所示:

然而,这需要多张纸,并且每次都需要手动重做位移,并且不断调整颜色,因为这在 Excel 中很难控制。 JMP 会容易一千倍。
图形生成器中是否有一种方法(或者,为了避免 XY 问题,在 JMP 中的其他地方)可以轻松地通过拖放来实现此目的? 即使需要手动修改所需的间距,图形生成器中的拖动栏也会使它变得更加容易。 我似乎无法重新创建它,但也许我只是错过了一些东西,我想我会问一下。
谢谢!
自动化和脚本编写数据探索和可视化分享和交流结果视窗回复:图形生成器:如何为每个系列制作具有一定位移的堆积图您可以在 y 轴上使用公式列,将颜色列 × 比例因子添加到原始 y 值。回复:图形生成器:如何为每个系列制作具有一定位移的堆积图复制品是否彼此完全相同?
回复:图形生成器:如何为每个系列制作具有一定位移的堆积图你好@ehchandler ,
下面是一些 JSL 代码,可以完成部分工作——它可以轻松地为每个光谱添加固定偏移量,并且为每个附加光谱添加相同的偏移量。 因此,对于第一个频谱,没有偏移,但每个附加频谱都会获得 n*5000 的偏移,在我的例子中我使用了 500 — 我使用了 NMR DoE.jmp 示例数据表并将其转置以获取列光谱,我猜你的数据表是如何构造的,而不是行作为光谱,列作为波长。 无论如何,您应该能够修改此代码以最适合您的数据结构和数据表。 我附上了代码和修改后的示例数据表,以便您查看。 这是结果。 然后,您可以手动进入并编辑您需要的任何重复或特定光谱的偏移。
上图没有偏移,下图有偏移。 颜色编码由 JMP 自动进行。

这是代码:
Names Default To Here( 1 );
dt = Current Data Table(); //assigns current data table to variable dt
ColNames = dt << Get Column Names; //gets a list of column names
offset = 5000;
//This generates a new column for each spectra with the column name + Offset to it
For( i = 2, i <= N Items( ColNames ), i++,
If( i == 2,
offset = 0, // no offset for the first spectrum
offset = 5000 //offset amount for each additional spectrum
);
Eval( Eval Expr( dt << New Column( Colnames[i] || " Offset", Formula( Expr( As Name( ColNames[i] ) ) + (Expr( (i - 2) * offset )) ) ) ) ); //the (i-2) is so the second spectrum is offset only by 5000 and not 10000
);
一种缓慢但万无一失的方法是创建新列并手动为每列生成公式,但它的工作原理是相同的。
希望这可以帮助!,
DS
回复:图形生成器:如何为每个系列制作具有一定位移的堆积图@tx尼尔森就我而言,我有大约 50 个变量可以用来定义一系列的系列。 我分享的图片中的那两个我认为是真正的重复,但我正在寻找的不需要两整行相同才能匹配。
我想如果我必须设计它,它可能会有一个“系列”变量的下拉框,以测试是否应该匹配任何系列(并显示得更接近)。 我想这个系列变量还应该能够为点着色,或者改变大小,或者其他。 然后也许是一个滑块来调整比例因子@hogi提到了两者之间的差距。
我很确定我刚才描述的内容目前在 JMP 中是不可能的,所以...... 我刚刚给出的愿望清单有 XY 问题,但希望这能澄清我正在寻找的内容,也许有一些 GUI 方法可以做到这一点? 如果不, @hogi的方法应该有效。
回复:图形生成器:如何为每个系列制作具有一定位移的堆积图哦有趣。 是的,这可以做到,尽管它不是一个图形生成器解决方案。 我想知道是否有一种方法可以根据 *series* 变量动态选择颜色系列和比例因子,该变量告诉 jmp 哪些行属于哪个系列。 嗯嗯嗯。 我得考虑一下这个问题。
回复:图形生成器:如何为每个系列制作具有一定位移的堆积图你好@ehchandler ,
据我所知,除了手动创建新的列公式来获取感兴趣的列并添加固定偏移量之外,没有动态方法(即单独使用图形生成器)来创建像您一样的偏移光谱。 但是,这正是我的脚本以自动化方式执行的操作,这将为您节省大量时间。 事实上,如果您要经常重复执行此操作,我会考虑使用 JSL 编写脚本,以自动方式为您执行此操作。 通过动态操作图表,您将节省大量时间。 有时,首先需要动态地设置分析或图表,以便学习如何编写脚本,但是一旦您拥有它并且可以将其应用于其他数据表,那么让 JSL 代码为您做这件事会快得多。通过脚本,您可以进入并为每个光谱分配特定的颜色,并且您可以根据数据表中的列号来执行此操作,例如:
根据JMP JSL 脚本编写指南 v16 ,第 660-662 页,标准 JMP 配色方案是:

然后每种颜色都可以通过将它们设置为浅色、中浅色、中深色和深色来进行更改:

或者,如果您想更改全局配色方案,可以转到“文件”>“首选项”,选择顶部(左侧)的“图形”,然后单击右下角名为“分类”的配色方案。

然后你会得到一个像这样的屏幕,例如,如果我选择底部的 Chromatic 样式并再次绘制光谱,它看起来像这样(顺序也可以颠倒):


该方法的唯一缺点是,这现在是 JMP 中所有图形的全局配色方案,而不仅仅是您正在处理的图形。 如果需要,您可以随时返回并在首选项中进行更改。
或者,一旦您获得所需的图表,您始终可以右键单击选择的光谱,然后选择线条颜色,然后选择显示的任何预设颜色,甚至从更大的调色板中选择其他...。 但是,如果您有大量光谱,这可能会很慢。

有很多方法可以在 JMP 中完成相同的事情,这很棒,这在某种程度上取决于您的具体需求是什么以及您的最终目标是什么以及哪种方法可能效果更好。
希望这可以帮助!,
DS