如何迭代图表上的参考线你好,
我可以知道如何使用 JSL 脚本进行在图表上添加参考线的迭代吗?
因为现在我只能在图表上为第一个选项卡添加参考线,图表的其他选项卡无法生成出来。
有人可以帮忙吗?
谢谢。
回复:如何迭代图表上的参考线您不了解指向每个变异性图表的指针是如何工作的。 您正在使用以下代码:
vchart = dt_raw_dataset << Variability Chart(
Y( Eval( IAT[i] ) ),
X( :Name( "Lot" ), :Name( "Fab Lot" ) ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
);
您多次循环执行此代码。 您的想法是,您可以通过使用代码来引用第一次的输出
vc = vchart[m] << Report;
这不是一个有效的假设。 相反,每次使用内存变量“vchart”时,它不会将新值添加到某些 vchart 值列表中,它实际上将“vchart”的值更改为新值。 因此,您得到的正是您所报告的内容。 只有一张图表上有参考线。 也就是说,这是因为它仅指向变异图的最后一个实例。
需要做什么,它改变你的代码,以便不是对每个变异图实例使用“vchart”,而是对第一个实例使用“vchart1”,对第二个实例使用“vchart2”,等等。
然后,当您生成参考线时,您可以指向变异性图表的第一个、第二个……实例。
您需要做的是创建一个列表来存储每个 vchart 指针,然后您就可以稍后调用它们
dt = Current Data Table();
dd = {};
ow = Oneway( Y( :height ), X( :sex ) );
dd[1] = ow;
ow = Oneway( Y( :weight ), X( :sex ) );
dd[2] = ow;
rpt = Report( dd[1] );
rpt[AxisBox( 1 )] << Add Ref Line( 65 );
rpt = Report( dd[2] );
rpt[AxisBox( 1 )] << Add Ref Line( 120 );
您可以扩展相同类型的方法来生成参考线等。
回复:如何迭代图表上的参考线你好,
实际上每个选项卡都有 5 个图表。
嗯,在每个图表中,我需要有 5 条参考线。
对于红色部分,我只能在图表上的一个选项卡上生成参考线,而在图表的其他 4 个选项卡上,我无法生成参考线。
但是当我运行整个脚本时,它没有显示任何错误,所以我不知道如何修复它。
谢谢。
variabilityWindow = New Window( "Variability Chart", tb = Tab Box() );
For( i = 1, i <= N Items(distinctFamilyDevice), i++,
// Create a new tab and append the variability charts
tb << Insert(
distinctFamilyDevice[i],
VListBox(
vchart = dt_raw_dataset << Variability Chart(
Y( Eval(IAT[i]) ),
X( :Name( "Lot" ), :Name( "Fab Lot" ) ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
);
)
);
);
For(m = 1, m <= N Items(IAT), m++,
vc = vchart[m] << Report;
axisbox = vc [axisbox(1)];
axisbox << Add Ref Line(-1.5,"Dashed",red,"-1.5 Sigma",2);
axisbox << Add Ref Line(1.5, "Dashed", red, "1.5 Sigma", 2);
axisbox << Add Ref Line(0, "Solid", red, "Target", 2);
axisbox << Add Ref Line(-3, "Dotted", red, "-3 Sigma", 2);
axisbox << Add Ref Line(3, "Dotted", red, "3 Sigma", 2);
);
回复:如何迭代图表上的参考线恐怕您仍然没有发布有关您遇到的问题的足够详细信息,以便我们有效地为您提供解决方案。
您可以使用任何示例数据构建一个简单的示例来演示您正在尝试的技术吗?
我们需要确切地知道您在完整的、可运行的示例中尝试过哪些代码,以及您到底遇到了什么问题。 也就是说,您收到错误消息了吗? 代码的行为是否出乎意料? 您是否在任何图表上找到了参考线? 同一张图上的所有线? 简而言之,请提供更多详细信息。
以下是使用示例数据的示例,展示了完成任务的基本方法。 也许您可以扩展此示例来演示您遇到的困难。
dt = Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );
collist = {:NPN1, :NPN2, :NPN3, :NPN4};
varcharts = {};
tb = Tab Box();
For( i = 1, i <= N Items( collist ), i++,
tb << Insert(
collist[i] << get name,
V List Box(
varcharts[i] = dt << Variability Chart(
Y( collist[i] ),
X( :wafer ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" )
)
)
);
);
for(i=1, i<=nitems(varcharts),i++,
vc = varcharts[i] << Report;
axisbox = vc [axisbox(1)];
axisbox << Add Ref Line(110,"Dashed",blue,"-1.5 Sigma",2);
);
new window("My Window", tb);

回复:如何迭代图表上的参考线谢谢@杰夫·珀金森和@tx尼尔森用于回复。
但我仍然无法解决我的问题。
我仍然无法使其图表的每个选项卡都有参考线。
我真的自己尝试过,所以请问是否有任何替代方法仍然可以使图表的每个选项卡都可以生成参考线?
谢谢。
回复:如何迭代图表上的参考线我鼓励你看看轴列属性。 如果您将此属性添加到列中,则使用该列的每个图形都将具有相同的轴设置,包括参考线。
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
Column( dt, "weight" ) <<
Add Column Properties(
Set Property(
"Axis",
{Add Ref Line( 100, "Solid", "Black", "", 1 )}
)
);
dt << Bivariate( Y( :weight ), X( :height ), Fit Line );回复:如何迭代图表上的参考线这是一个非常简单的例子。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
nw = New Window( "Tab Test",
mytab = Tab Box(
t1 = Tab Page Box( "One", onebiv = dt << Bivariate( Y( :weight ), X( :height ) ) ),
t2 = Tab Page Box( "Two", twobiv = dt << Bivariate( Y( :weight ), X( :age ) ) )
)
);
report(onebiv)[AxisBox(1)]<<ADD ref="" line=""></ADD>
回复:如何迭代图表上的参考线你好,
为了创建选项卡,
tb << Insert(
distinctFamilyDevice[i],
VListBox(
dt_raw_dataset << Variability Chart(
Y( Eval(IAT[i]) ),
X( :Name( "Lot" ), :Name( "Fab Lot " ) ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
);
在创建参考线时,我尝试使用 expr 函数,但是所有使用 expr 函数的脚本都不起作用。所以,我不使用它。
我现在使用下面的代码,它可以生成参考线,但仅适用于图表的第一个选项卡。
vc = Variability Chart[i] << Report;
axisbox = vc [axisbox(1)];
axisbox << Add Ref Line(-1.5,"Dashed",blue,"-1.5 Sigma",2);
axisbox << Add Ref Line(1.5, "Dashed", blue, "1.5 Sigma", 2);
axisbox << Add Ref Line(0, "Solid", blue, "Target", 2);
axisbox << Add Ref Line(-3, "Dashed", red, "-3 Sigma", 2);
axisbox << Add Ref Line(3, "Dashed", red, "3 Sigma", 2); 创建图表的平台是变异性图表。
谢谢。
回复:如何迭代图表上的参考线我们需要更多信息才能为您指明正确的方向。
您如何创建选项卡? 您尝试过使用什么 JSL 将参考线放在其他选项卡的图表上?
您使用什么平台来创建图表?