你好,
我有以下图表脚本,其中 x 轴的增量为 10,但我想更新 x 轴,以便从 0 到 10 的增量为 1,之后轴的其余部分的增量应为 10。有没有办法更新此脚本来实现这一点?
Graph Builder(
Variables( X( :"Time (min)"n ), Y( :"A -024"n ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 8 ) ) ),
SendToReport(
Dispatch(
{},
"Time (min)",
ScaleBox,
{Format( "Best", 12 ), Min( 0 ), Max( 80 ), Inc( 10 ),
Minor Ticks( 1 )}
)
)
)您可以添加的一个小功能是隐藏那些“额外”的图例项。双击图例并取消选择它们


请注意,根据您的数据,确保读者能够清楚地看到 x 轴正在发生变化,因为它可能很难被发现。
嗨@billi ,
当然,所以在我发布的示例中,我使用了 Big Class.jmp 文件,您可以在帮助 > 示例索引菜单中找到它。
您要做的第一件事就是改变您的偏好,使得图形间距为零,而不仅仅是未选中(默认)。
这次,我实际上将图形间距设置为 0。上次,我只是取消选中首选项中的框(保留垂直线,与以前一样),但如果您实际上将其设置为 0,则没有垂直线分隔图形。要获取首选项,请转到文件 > 首选项,选择平台,然后向下滚动以选择图形生成器:

确保已选中“图形间距”复选框,然后将间距设置为 0。
转到 Graph Builder,然后您可以单击并将列拖到相应的轴。这里每个轴只有一列:

如果你单击并拖动 x 轴的同一列,然后将其移至原始轴的右侧,如下所示:

您将得到一个两轴上曲线相同的图形。双击左侧轴,您将获得轴设置窗口,这是默认的:

将 x 轴的最大值更改为新的 x2 值,在本例中我选择 60,并将增量值更改为您想要的值。在本例中为 1,然后单击“确定”:

你的图表现在看起来如下:

您将对右侧 x 轴执行类似操作,但将最小值更改为与之前另一轴最大值相同的值,在本例中为 60。我将最大值保留为默认值,并将增量更改为 10。单击确定。

你的图表现在看起来应该是这样的:

要更改第二张图表的颜色,请右键单击标记图标(对线条图标执行相同操作),然后选择正确的颜色,以使其与左侧图表相同:

你的图表现在看起来应该是这样的:

下面是保存到脚本窗口的 JSL 代码,用于生成上图
Graph Builder(
Graph Spacing( 0 ),
Variables( X( :height ), X( :height ), Y( :weight ) ),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 26 ) ),
Smoother( X, Y, Legend( 27 ) )
),
Elements(
Position( 2, 1 ),
Points( X, Y, Legend( 28 ) ),
Smoother( X, Y, Legend( 29 ) )
),
SendToReport(
Dispatch(
{},
"height",
ScaleBox,
{Min( 50 ), Max( 60 ), Inc( 1 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"height",
ScaleBox( 2 ),
{Min( 60 ), Max( 70.76 ), Inc( 10 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
28,
Properties( 0, {Line Color( 5 )}, Item ID( "weight", 1 ) )
), Legend Model(
29,
Properties( 0, {Line Color( 5 )}, Item ID( "Smooth", 1 ) )
)}
)
)
);
我希望这会有所帮助。
祝你好运!,
DS
@SDF1非常感谢,这个解决方案可行。您能否指导我完成上面显示的创建图表的步骤,或者为我提供任何可以查阅的、非常有用的文档?
嗨@billi ,
如果我理解正确的话,您希望有一个具有两个不同增量值的单个 x 轴,对吗?其中 x 轴的一部分,例如从 x1 到 x2 的增量为 1,而从 x2 到 x3 的增量为 10?
如果是这样的话,我认为没有办法让 JMP 对同一轴使用两个不同的增量值。但是,您可以使用 Graph Builder 并“欺骗”它来获得与您想要的类似的结果,但图形有些不太理想。
例如,我使用 Big Class.jmp 文件并绘制 :weight 与 :height 的图表,但我还使用 :height 作为第二个 x 轴。我将第一个 x 轴绘制为 50-60,将第二个 x 轴绘制为 60-71,并将增量分别设置为 1 和 10。您将得到如下所示的图表:

因此,从某种意义上说,这是可以实现的,但您将有两个 x 轴,然后是将两个图形分开的细垂直线(这是将图形间距设置为 0 的情况)。这可能不是您想要的,但这是一种可行的解决方案。
希望这有帮助!,
DS