除了其他图形改进之外(JMP 16 中的新功能) ,新的时间箱(&Wrap)选项非常有用:
连续值被分箱并表示为序数值。[编辑]

唯一的问题:
轴和网格看起来有点混乱:

我更喜欢像这样的更有条理的视图 - 带有长分隔线和下框架:

但刻度标签和网格的设置:

... GUI 中缺少带有时间箱设置的轴:

为什么?
如果用户想要按周进行分类——获取年和周的图表,则存在另一个问题(#2):
默认情况下,JMP 会创建格式为 DD / MM / YYYY 的分箱日期。
因此,仍然使用日期(包括日和月)而不是周作为轴标签。
那么,如何告诉 JMP 应该使用周数。
计划A:
- 调整当前轴的格式 - 使用周而不是日和月。事实上,它有效 - 但用户必须为每一个他想要调整的图都做这项工作。
更好的:
用户可以直接更改列的格式(参见下面的代码) - 然后周数也会进入轴标签:

更酷的是:如果用户在轴上启用嵌套,JMP 会自动显示嵌套的周数和年份。
但是等一下——标签嵌套似乎与 ISO 日期存在问题,啊!!!

为什么中心图显示的是 2022 年而不是 2023 年?!??!
将 Week 和 Week2 转换为“最佳”格式显示:两列都有相同的条目。所以,这不是列的问题,对吗?
.<MM>.<YYYY>", 15 ),
Formula( Date Increment( :date, "Week", 0 ) )
)
);
Graph Builder(
Variables( X( :date ), X( :"Week[date]"n ),X( :"Week[date]_2"n ) ),
Elements( Position( 1, 1 ), Points( X ) ),
Elements( Position( 2, 1 ), Points( X ) ),
Elements( Position( 3, 1 ), Points( X ) ),
SendToReport(
Dispatch( {}, "date", ScaleBox, {Label Row Nesting( 2 )} ),
Dispatch( {}, "Week[date]", ScaleBox, {Label Row Nesting( 2 )} ),
Dispatch( {}, "Week[date]_2", ScaleBox, {Label Row Nesting( 2 )} )
)
);</YYYY></MM> New Table( "test",
Add Rows( 2 ),
Compress File When Saved( 1 ),
New Column( "date",
Format( "d/m/y", 10 ),
Set Values( [3768422400, 3797366400] )
),
New Column( "Week[date]",
Format( "Format Pattern", "<YYYY> cw<WW>", 15 ),
Formula( Date Increment( :date, "Week", 0 ) )
),
New Column( "Week[date]_2",
Format( "Format Pattern", "</WW></YYYY>
问题 (1):
下面的代码生成如下的图表:

不幸的是
Date Increment(., "Week", 0) = 01Jan0000;
破坏了 x 轴上的比例。
<YYYY>", 15 ),
Formula( Date Increment( :Event Date, "Week", 0 ) )
),
Variables( X( :"Week[Event Date]"n ) ),
Elements( Bar( X, Legend( 4 ) ) )
);</YYYY> ...因此,必须通过以下方式手动修复公式If(is missing(:Event Date), ., Date Increment( :Event Date, "Week", 0 ))Open( "$SAMPLE_DATA/Aircraft Incidents.jmp" );
:Event Date[1] = .;
Graph Builder(
Transform Column(
"Week[Event Date]",
Format( "Format Pattern", "<MM></MM>
有几秒钟我以为通过时间箱可以解决图形生成器中刻度间距调整过于动态的问题: 热图 - 选项:固定刻度间距(聚合区域) 。
但要清楚:如果它只是一个变换列 - 并且仍然有连续轴刻度,它会受到重新缩放错误的影响。
这似乎是您目前唯一的选择(我还没有尝试过是否可以通过脚本强制执行这些选择)。
你是对的,除了相当“序数”之外,这些值还保持“连续”——显示在连续的时间尺度上。
我想说:刻度标签也适用于连续变量:

...但不幸的是,缺少用于调整图表的酷炫刻度标签设置。
因此,唯一的方法是手动将创建的变换列的建模类型更改为序数/名义数。
但是之后:
- 我失去了标签行嵌套功能
- 缺少数据的月份将从图中删除(至少直到:folded_hands: 列属性:包含值可用......)(*)
目前我认为唯一的办法就是:
手动生成年份和月份作为序数值,然后将它们嵌套在 x 轴上。[有问题 (*)]
正确的?