大家好,
我试图在 JMP 中插入一个简单的 X 轴断点,但在图形生成器中找不到该选项。
例如,在 Origin Lab 中,使用 x 轴中断可以轻松实现这一点。我对 JMP 还很陌生,因此我们将不胜感激!
我的 X 轴数据是时间戳,分布在多天内,但在一天内,它们最多只能在一小时的范围内。如果我将所有时间戳记为 X,那么一天内的数据趋势就会丢失,因为到第二天的距离要大得多。
我只想显示测量期间每天的 X 数据。我添加了一个小图形,希望能更好地解释问题。

谢谢你!
这个愿望可以解决这个问题:
X组:将轴上的值限制到相应的组
使用新选项:将 x 轴限制到相应的组,一切都会变得非常舒适
...并且坚固耐用:
有一些解决方法,但它们都非常脆弱。想象一下如果添加一些行会发生什么......
对于连续值,需要一些技巧来存储每个子图的范围和比例信息。
这值得么?
对于名义值,这要容易得多:只需删除空白区域即可获得更好的绘图。
这里唯一的问题是:
1 ... Nmax 的相等宽度(有一些对齐规则:左、中、右、拉伸?)
或每个子图的单独宽度:1 ... Ni
您可能对https://community.jmp.com/t5/JMP-Blog/How-to-create-an-axis-break-in-JMP/ba-p/30611感兴趣,它显示了添加轴中断:通过添加变量的副本并调整每个部分以仅显示分数。这是 jthi 数据的样子,但将 x 变量(第 2 列)更改回连续:

我做了一些清理,将颜色更改为相同,但还想编辑图例设置以隐藏额外的图例条目。
Graph Builder(
Size( 973, 455 ),
Show Control Panel( 0 ),
Graph Spacing( 15 ),
Variables( X( :Column 2 ), X( :Column 2 ), X( :Column 2 ), Y( :Column 1 ) ),
Elements( Position( 1, 1 ), Bar( X, Y, Legend( 7 ) ) ),
Elements( Position( 2, 1 ), Bar( X, Y, Legend( 8 ) ) ),
Elements( Position( 3, 1 ), Bar( X, Y, Legend( 9 ) ) ),
SendToReport(
Dispatch( {}, "Column 2", ScaleBox,
{Min( 20oct2022 + 00:01:00 ), Max(20oct2022 + 03:59:00 ), Interval( "Hour" ),
Inc( 1 ), Minor Ticks( 0 )}
),
Dispatch( {}, "Column 2", ScaleBox( 2 ),
{Min( 21oct2022 + 00:01:00 ), Max(21oct2022 + 03:59:00 ), Interval( "Hour" ),
Inc( 1 ), Minor Ticks( 0 )}
),
Dispatch( {}, "Column 2", ScaleBox( 3 ),
{Min( 22oct2022 + 00:01:00 ), Max(22oct2022 + 03:59:00 ), Interval( "Hour" ),
Inc( 1 ), Minor Ticks( 0 )}
),
Dispatch( {}, "400", ScaleBox,
{Legend Model( 7,
Properties( 0, {Fill Color( 5 )}, Item ID( "Column 1", 1 ) )
), Legend Model( 8,
Properties( 0, {Fill Color( 5 )}, Item ID( "Column 1", 1 ) )
), Legend Model( 9,
Properties( 0, {Fill Color( 5 )}, Item ID( "Column 1", 1 ) )
)}
)
)
);
感谢 Jemster、jthi 和 ih 迄今为止提出的所有建议。
如果我理解正确的话,这并不容易且快速完成,尤其是当我想更改显示或数据时。我仍然会尝试使其中一种解决方案发挥作用。
我还认为这应该在 JMP 中实现 - 我将看看是否可以将其添加到愿望清单中。
问候保罗
编辑
愿望清单 - https://community.jmp.com/t5/JMP-Wish-List/Add-easily-configurable-axis-breaks-to-the-Graph-Builder/idi-p/526241
我认为 JMP 可以选择在使用 X 分组并具有连续 X 轴的情况下自动缩放 X 轴,这可能是一个很好的愿望清单项目。目前 JMP 仅显示“空白区域”。你甚至无法单独缩放它们

对于某些用户来说,此图像可能更容易理解发生了什么

经过一些绘制和复制粘贴组合几个图表后,类似这样的东西(也许也适用于标称和序数 x 轴):

有几次,当 x 组或序数轴不能完全满足我的要求时,我会采取制作三个单独的又高又瘦的图表,然后将它们复制粘贴在一起的方式。如果没有其他人提出连续变量的解决方案,这将是一个很好的愿望清单项目。
您可以尝试将时间戳设置为序数(或名义)的一种选择,并将分组变量用作叠加。您还可以添加日期作为附加分组列

我还附上了带有表脚本的数据表
X组可能就是你想要的。根据您的描述,您可能需要使用本地数据过滤器(使用图形生成器窗口中“图形生成器”旁边的红色三角形找到)来排除不存在数据的时间戳
这是一个非常有用的功能,也是我转向 GraphPad Prism 处理时间序列数据的原因。
对于“日内趋势”的特殊情况,可以使用 GraphBuilder 中的 Wrap 选项

...或带有“一天中的时间”的转换列:

对于范围 > 1 天,可以通过减去每组第一个条目的日期来计算缩放时间戳 [:day:hour]:

New Column( "timestamp_zoom",
Format( ":day:hr:m", 16 ),
Formula(
(:date - Col Minimum( :date, :Group ))
+Col Minimum( Time Of Day( :date ), :Group )
)
)