こんにちは!数値(X)とツール(Y)をグラフ化するスクリプトを作成中です。データテーブルには、サブグループごとに異なる上限と下限の管理限界値が設定されており、スクリプト実行時にグラフに管理限界値が自動的に表示されます。また、これらのグラフを「レイヤー」で区切る必要があります。現状のグラフは以下の通りです。グラフは生成できるのですが、管理限界線が表示されません。また、最初のグラフの点の大きさが他のグラフに比べてかなり小さいです。スクリプトを一から作成するのはまだ初心者なので、何かアドバイスがあれば大変助かります。現状のグラフは以下の通りです。(JMPバージョン:17.2)
Names Default To Here( 1 );
dt = Current Data Table();
xCol = Column( dt, "Tool" );
yCol = Column( dt, "Value" );
uclCol = Column( dt, "UCL" );
lclCol = Column( dt, "LCL" );
LayerCol = Column( dt, "Layer" );
gb = Graph Builder(
Size( 633, 6849 ),
Show Control Panel( 0 ),
Title Fill Color( "White" ),
Level Fill Color( "White" ),
Page Level Fill Color( "White" ),
Variables( X( :Tool ), Y( :Value ), Page( :Layer ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
Elements( Line( X( xCol ), Y( uclCol ), Legend( 2 ) ) ),
Elements( Line( X( xCol ), Y( lclCol ), Legend( 3 ) ) ),
SendToReport(
Dispatch( {}, "Graph", ScaleBox, {Format( "Best", 12 ), Inc( 1 ), Minor Ticks( 1 )} ),
Dispatch( {}, "Graph Builder", FrameBox, {Marker Size( 2 ), Line Width( 2 )} ),
)
);
rep = gb << Report();
fr = rep[FrameBox( 1 )];
leg = rep[LegendBox( 1 )];
leg = rep[Legend Box( 1 )];
Try( leg << Set Item Name( 1, "Value" ) );
Try( leg << Set Item Color( 1, "Steel Blue" ) );
Try( fr << Set Marker Size( 1, 3 ) );
Try( fr << Set Marker Style( 1, "FilledCircle" ) );
Try( leg << Set Item Name( 2, "UCL" ) );
Try( leg << Set Item Name( 3, "LCL" ) );
Try( leg << Set Item Color( 2, "Red" ) );
Try( leg << Set Item Color( 3, "Red" ) );
Try( leg << Set Item Line Style( 2, "Solid" ) );
Try( leg << Set Item Line Style( 3, "Solid" ) );
Try( fr << Set Line Width( 2, 2 ) ); // UCL
Try( fr << Set Line Width( 3, 2 ) ); // LCL
txnelson による JSL から JSL ディスプレイ ボックスへの編集
グラフ ビルダーのインタラクティブ機能を使用して必要なグラフを生成する場合は、スクリプトを保存するように指定するだけで、グラフを複製するスクリプトが生成されます。
こんにちは、ジムさん。返信ありがとうございます!グラフを生成することはできたのですが、今一番困っているのは、スクリプトにUCLとLCLの参照線を追加する方法がまだわからないことです。スクリプトを実行した際に、グラフがレイヤーごとに分割され、それぞれのグラフにLCLとUCLの参照線が表示されるようにしたいのです。UCLとLCLはデータテーブル内の列になっているのですが、正しい参照方法がわかりません。
こんにちは、ジム。
データ テーブルが添付されており、元のスクリプトは上記のテーブル スクリプト セクションに貼り付けられています。
Y軸にUCLとLCLを追加し、線を追加して、ポイントに使用する変数は値のみ、線に使用する変数はLCLとUCLのみと指定するだけです。

Graph Builder(
Size( 633, 6849 ),
Show Control Panel( 0 ),
Title Fill Color( "White" ),
Level Fill Color( "White" ),
Page Level Fill Color( "White" ),
Variables(
X( :Tool ),
Y( :Value ),
Y( :UCL, Position( 1 ) ),
Y( :LCL, Position( 1 ) ),
Page( :Layer )
),
Elements(
Points( X, Y( 1 ), Legend( 1 ) ),
Line( X, Y( 2 ), Y( 3 ), Legend( 2 ) )
),
SendToReport(
Dispatch( {}, "Graph Builder", FrameBox,
{Marker Size( 2 ), Marker Drawing Mode( "Normal" )}
)
)
);
できました、うまくいきました!ありがとうございます!