こんにちは、私はJMPで1Clickを構築しています。二変量グラフを作成すると、次のようなボックスが作成されます。

削除(折りたたみ)はできましたが、問題は、1クリックなので、フィルタリングなどの変更を行うと、2変量グラフで自動再計算(1)に設定されているため、再び表示されることです。
だからディスパッチから削除したいので、再計算するたびに削除されます。画像ボックスでは機能しますが、アウトラインボックスでは機能しません。アウトラインボックス番号ではなくボックスの名前を要求しているように見えるためです。何かアイデアはありますか

JMP 18 と JMP 14 の両方でコードを実行しました。14 では凡例が拡大しますが、18 ではエラーなく実行されます。明らかにアップグレードすることをお勧めします。
チェックボックスから調整するたびにグラフを完全に削除してみるのもよいでしょう
ありがとうございます。これは機能していますが、次の点についてお手伝いいただけるかもしれません。
このコードを持っていますが、凡例ボタンのみで操作するとすべてが機能しますが、フィルターの使用を開始すると、多数の境界ボックスが開きます。これは「自動再計算」によるもので、何らかの理由で境界ボックスがメモリ内に残っているのだと思います...
これを解決する方法を知っていますか?
//obj << show tree structure
//Report( obj )[Outline Box( 1)] << Delete;
//Begin Script;
CreateTrendPlot = Function( {},
// Create and return the trend plot with legend
obj = Bivariate(
Y( :height ),
X( :weight ),
Automatic Recalc( 1 ),
Group By( :sex ),
Fit Spline( 0.1, standardized ),
SendToReport(
Dispatch( {}, "Bivar Plot", FrameBox,
{Row Legend(
age,
Color( 0 ),
Color Theme( "" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
), Row Legend(
age,
Color( 0 ),
Color Theme( "" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
),
Dispatch( {}, "", Picture Box( 3 ), {Visibility( "Collapse" )} ),
Dispatch( {}, "", Picture Box( 2 ), {Visibility( "Collapse" )} )
)
)
);
CreateVarPlot = Function( {},
obj2 = Variability Chart(
Y( :height ),
X( :age, :sex ),
Connect Cell Means( 1 ),
Show Group Means( 1 ),
Show Grand Mean( 1 ),
Show Grand Median( 1 ),
Std Dev Chart( 0 ),
Points Jittered( 1 ),
Show Box Plots( 1 ),
Mean Diamonds( 1 ),
SendToReport(
Dispatch( {}, "2", ScaleBox,
{Min( 5000 ), Max( 2000 ), Inc( 100 ), Minor Ticks( 1 ),
Add Ref Line( 0, "Dotted", "Medium Light Gray", "", 1 ),
Add Ref Line( 3200, "Solid", "Black", "TGT", 4 ), Add Ref Line(
4200, "Dashed", "Medium Dark Red", "UCL", 4
), Add Ref Line( 2200, "Dashed", "Medium Dark Red", "LCL", 4 )}
),
Dispatch( {""}, "", NomAxisBox, {Rotated Tick Labels( 0 )} )
)
)
);
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
color = {"age", "sex"};
marks = {"age", "sex"};
boxPlot = {"age", "sex", "name"};
// Initial nlevels is the number of levels of 'age', as it is the first by-group used.
cur_col = "age";
cur_mar = "age";
// Creating the legend. For each selection, the previous spline fits are removed, then
// new ones are generated.
color_legend = Panel Box( "Choose Color",
legend1 = Radio Box(
color,
<<SET function=""></SET>
<DIV> </DIV>
<P> </P>For Each() 関数は JMP 16 で導入されました。
以下は、For Each() を削除して For() ループに置き換えた JSL の修正バージョンです。JMP 14 でテストしたところ、期待どおりに動作しました。
Names Default To Here( 1 );
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate(
Y( :height ),
X( :weight ),
Fit Spline( 10000, {Line Color( {212, 73, 88} )} ),
Fit Spline( 1, {Line Color( {61, 174, 70} )} ),
Automatic Recalc( 1 )
);
Report( biv )[framebox( 1 )] <<
add graphics script(
oboxes = biv << xpath( "//OutlineBox" );
For( i = 1, i <= N Items( oboxes ), i++,
box = oboxes[i];
If( Contains( box << get title, "Smoothing Spline" ),
box << visibility( "collapse" )
);
);
);こんにちは、私はJMP14を使用しています
ログではこれが見える
名前が解決されていません: 'For Each' のアクセスまたは評価における For Each、For Each(
{箱}、
オボックス、
If( Contains( box << get title, "Smoothing Spline" ),
ボックス << visibility( "collapse" )
)
) /*###*/
どのバージョンの JMP を使用していますか?
コードを実行すると、以下の出力が生成されます。

出力が変更されるたびに、グラフィックスの追加スクリプトが実行されます。必要なのは、スプライン フィットに関連付けられたアウトライン ボックスを閉じることだというのが私の解釈です。これがコードが行うことです。フィルターが適用された場合などでも、アウトライン ボックスは折りたたまれたままになります。
ログにエラーメッセージが表示されていますか?
こんにちは、返信ありがとうございます
あなたのコードを試してみましたが(そのまま...)何も起こりませんでした
次のようなものを試してみてください。アウトラインボックスの折りたたみを処理するために、グラフィックススクリプトの追加を使用します。
Names Default To Here( 1 );
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate(
Y( :height ),
X( :weight ),
Fit Spline( 10000, {Line Color( {212, 73, 88} )} ),
Fit Spline( 1, {Line Color( {61, 174, 70} )} ),
Automatic Recalc( 1 )
);
Report( biv )[framebox( 1 )] << add graphics script(
oboxes = biv << xpath( "//OutlineBox" );
For Each( {box}, oboxes,
If( Contains( box << get title, "Smoothing Spline" ),
box << visibility( "collapse" )
)
);
);OutlineBoxes を削除/非表示にする簡単な方法は、OutlineBoxes を折りたたんで (*)、タイトルを削除することです。
タイトルを折りたたまずに削除すると、すでにお分かりかもしれませんが、タイトルが削除されるだけです。:)
*) すべてのアウトライン ボックスを一度に折りたたむには、灰色の三角形をクリックしながら CTRL キーを押します。