JMP社区问题标题:JMP 16中带有本地数据过滤器的图形构建器输出错误 - 在JMP 14中正常你好,
I have the following JSL code that creates a Graph Builder plot inside a For loop. It works correctly in JMP 14 but produces wrong output in JMP 16.
JMP 14 代码(运行正常):
</CODE></PRE>
<PRE>gb = Expr(
dt << Graph Builder(
Size( 635, 338 ),
Show Control Panel( 0 ),
Variables( X( :Time Point Months ), Y( :Result ), Overlay( :Batch ) ),
Elements(
Points( X, Y, Legend( 1 ) ),
Line Of Fit( X, Y, Legend( 2 ), Confidence of Fit( 0 ) )
),
Local Data Filter(
invisible,
Add Filter(
columns( :Component, :Batch, :Source Table ),
Where( :Component == numPar[i] ),
Where( :Batch == {cyc, bat}),
Where( :Source Table == dt_name )
)
),
SendToReport(
Dispatch(
{},
"Time Point Months",
ScaleBox,
{Min( -0.1 ), Max( maxvalts ), Inc( 2 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( numPar[i] || " vs. Time Point" )}
),
Dispatch( {},
"Y title",
TextEditBox,
{Set Text( yTitleText)}
),
Dispatch(
{},
"Result",
ScaleBox,
{Format( "Fixed Dec", 10, 3 ),
Min( Eval( minval )),
Max( Eval( maxval )),
Inc( Eval( (maxval - minval) / 10 ))}
)
)
)
);
col1 << Append(gb);<BR /><BR /><BR /><STRONG>Did the Graph Builder syntax or Local Data Filter behavior change between JMP 14 and JMP 16? How should I rewrite this to work correctly in JMP 16?</STRONG></PRE>
<PRE data-v-136e9b6a=""><CODE class="language-javascript hljs" data-v-136e9b6a="">
高级统计建模自动化和脚本编写消费者和市场研究内容组织数据探索与可视化实验设计质量与工艺工程可靠性分析回复:JMP 社区问题标题:JMP 16 中带有本地数据过滤器的图形构建器产生错误输出 - 在 JMP 14 中正常在 JMP16 中手动创建图形,然后从图形生成器复制脚本。
回复:JMP 社区问题标题:JMP 16 中带有本地数据过滤器的图形构建器产生错误输出 - 在 JMP 14 中正常我手动绘制了图表,脚本如下:(图表输出已作为附件“1”)
Graph Builder(
Size( 635, 580 ),
Show Control Panel( 0 ),
Variables( X( :Time Point Months ), Y( :Result ), Overlay( :Batch ) ),
Elements(
Points( X, Y, Legend( 1 ) ),
Line Of Fit( X, Y, Legend( 2 ), Confidence of Fit( 0 ) )
),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :Component, :Batch, :Source Table ),
Where( :Component == "Bacterial Endotoxin" ),
Where( :Source Table == "Subset of Stab_IcoSema_test1_test2_test4" ),
Display( :Component, N Items( 15 ), Find( Set Text( "" ) ) ),
Display( :Batch, N Items( 6 ) ),
Display( :Source Table, N Items( 2 ), "List Display" )
)
),
SendToReport(
Dispatch(
{},
"Time Point Months",
ScaleBox,
{Min( -0.1 ), Max( 19.395 ), Inc( 2 ), Minor Ticks( 1 )}
),
Dispatch( {}, "Result", ScaleBox, {Format( "Fixed Dec", 10, 3 )} ),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "Bacterial Endotoxin vs. Time Point" )}
),
Dispatch(
{},
"Y title",
TextEditBox,
{Set Text( "Content of semaglutide" )}
)
)
);
问题是,我想完全移除本地数据过滤器,但是移除后却出现了这样的输出:截图 2
回复:JMP 社区问题标题:JMP 16 中带有本地数据过滤器的图形构建器产生错误输出 - 在 JMP 14 中正常那么我该如何让它隐形呢?
回复:JMP 社区问题标题:JMP 16 中带有本地数据过滤器的图形构建器产生错误输出 - 在 JMP 14 中正常你想完全隐藏它吗?你可以折叠大纲框,然后将大纲框标题设置为空字符串(例如)。这样应该就能达到不错的效果。
回复:JMP 社区问题标题:JMP 16 中带有本地数据过滤器的图形构建器产生错误输出 - 在 JMP 14 中正常我该如何把它折叠起来?你是什么意思?
dt << Graph Builder(
Size( 635, 338 ),
Show Control Panel( 0 ),
Variables( X( :Time Point Months ), Y( :Result ), Overlay( :Batch ) ),
Elements(
Points( X, Y, Legend( 1 ) ),
Line Of Fit( X, Y, Legend( 2 ), Confidence of Fit( 0 ) )
),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :Component, :Batch, :Source Table ),
Where( :Component == numPar[i] ),
Where( :Batch == {cyc, bat}),
Where( :Source Table == dt_name )
)
),
SendToReport(
Dispatch(
{},
"Time Point Months",
ScaleBox,
{Min( -0.1 ), Max( maxvalts ), Inc( 2 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( numPar[i] || " vs. Time Point" )}
),
Dispatch( {},
"Y title",
TextEditBox,
{Set Text( yTitleText)}
),
Dispatch(
{},
"Result",
ScaleBox,
{Format( "Fixed Dec", 10, 3 ), Min( Eval( minval )), Max( Eval( maxval )), Inc( Eval( (maxval - minval) / 10 ))},
)
)
)
回复:JMP 社区问题标题:JMP 16 中带有本地数据过滤器的图形构建器产生错误输出 - 在 JMP 14 中正常点击灰色三角形折叠轮廓框(使其隐藏筛选器),然后将标题设置为空。
由此

对此

我没有 JMP16,但脚本很可能与此非常接近。
Graph Builder(
Size(658, 555),
Show Control Panel(0),
Variables(X(:height), Y(:weight)),
Elements(Points(X, Y, Legend(7)), Smoother(X, Y, Legend(8))),
Local Data Filter(
Close Outline(1),
Title(""),
Add Filter(
columns(:name),
Where(
:name == {"ALFRED", "ALICE", "AMY", "BARBARA", "CAROL", "CHRIS",
"CLAY", "DANNY", "DAVID", "EDWARD", "ELIZABETH"}
),
Display(
:name,
N Items(15),
Find(Set Text(""), Contains Terms(1), Contains Phrase(0))
)
)
)
);