複数のプロットにわたって動的 X 参照線を表示する方法はありますか?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />やあ、
グラフビルダーを使用して以下を表示しています。
- 特定の製造ツールを通じて部品が処理される際のバッチ内の欠陥の数 TOP PLOT
- 同じ期間中にツールが通過した E10 機器の状態の変化 中央プロット
- 同じ期間に処理されたテスト基板から採取されたプロセス モニター。下の図

「updated_date」は、3 つの異なるデータベースから収集されたすべてのデータ セット間の唯一の共通要素です。
いずれかのプロット上でマウスをクリックして押したままにすると、X 参照線が表示されるようにしたいと考えています。 マウスを離すと消えるはずです。
基準線はすべてのプロットにわたって同時に表示される必要があります。
必要なものの例を以下に示します。

どのような創造的なソリューションが提供されるか楽しみです
- フィリップ
Re: 複数のプロットにわたって動的 X 参照線を表示する方法はありますか?解決策を教えてくれた Ian と Craig に感謝します。
これは見事に機能します
別の挑戦をするつもりなら、......チャート内の任意の点に基準線を配置したときに、アクティブ化されたラベルを表示できるかどうか疑問に思いました。
私のアプリケーションでは、点が正確に同じ X 軸位置に発生する状況は決して存在しないことに注意してください。
私の場合、ラベルはテスト、製造、またはプロセス監視に関連するオペレーターが書いたコメントになります。
これは必要というよりも「あったら便利」ですが、あったらとても便利です
- フィリップ
Re: 複数のプロットにわたって動的 X 参照線を表示する方法はありますか?元のメソッドを使用すると、1 が操作されるとき (およびその巡回置換)、コードは 2 と 3 を更新する必要があります。
しかし、Craige の「<
デフォルトの名前はここにあります( 1 );
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt <<グラフビルダー(
サイズ( 528 、 448 )、
コントロールパネルを表示( 0 )、
変数( X( 変換列( "行" 、 方式(行() ) ) )、Y( :身長 )、Y( :体重 )、Y( :年齢 )、
);
::exx = 1 ;
gbfb3 =報告( gb )[フレームボックス( 3 )];
gbfb3 <<グラフィックススクリプトの追加(
ペンの色( "赤" );
ペンのサイズ( 2 );
ネズミ捕り(
::exx = x;
gb <<無効;
);
Vライン( ::exx );
);
gbfb1 =報告( gb )[フレームボックス( 1 )];
gbfb1 <<グラフィックススクリプトの追加(
ペンの色( "赤" );
ペンのサイズ( 2 );
ネズミ捕り(
::exx = x;
gb <<無効;
);
Vライン( ::exx );
);
gbfb2 =報告( gb )[フレームボックス( 2 )];
gbfb2 <<グラフィックススクリプトの追加(
ペンの色( "赤" );
ペンのサイズ( 2 );
ネズミ捕り(
::exx = x;
gb <<無効;
);
Vライン( ::exx );
);
Re: 複数のプロットにわたって動的 X 参照線を表示する方法はありますか?グラフ ビルダーが生成するトレリス プロットの各セルは個別の 'FrameBox()' であり、課題は、1 つだけが変更されたときにこれらのそれぞれを更新することです。 上記のコードは、FrameBox() ごとにグラフィックス スクリプトの削除と復元を繰り返すことに依存しており、控えめに言っても不格好です。
クレイジ@jmpより良い方法を親切に指摘していただきました。グラフ ビルダー オブジェクト自体に '<< inval' メッセージを送信するだけです。これにより、関連するすべての FrameBox が適切に再描画されます。
デフォルトの名前はここにあります( 1 );
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt <<グラフビルダー(
サイズ( 528 、 448 )、
コントロールパネルを表示( 0 )、
変数( X( 変換列( "行" 、 方式(行() ) ) )、Y( :身長 )、Y( :体重 ) )
);
::exx = 1 ;
gbfb1 =報告( gb )[フレームボックス( 1 )];
gbfb1 <<グラフィックススクリプトの追加(
ペンの色( "赤" );
ペンのサイズ( 2 );
ネズミ捕り(
::exx = x;
gb <<無効; // 他のグラフが更新されていることを確認します
);
Vライン( ::exx );
);
gbfb2 =報告( gb )[フレームボックス( 2 )];
gbfb2 <<グラフィックススクリプトの追加(
ペンの色( "赤" );
ペンのサイズ( 2 );
ネズミ捕り(
::exx = x;
gb <<無効; // 他のグラフが更新されていることを確認します
);
Vライン( ::exx );
);
Re: 複数のプロットにわたって動的 X 参照線を表示する方法はありますか?こんにちは、イアンさん
素早いご対応ありがとうございます。
これはまさに私が探しているものですが、3つのプロットにわたって機能する必要があります
"$SAMPLE_DATA/Big Class.jmp データセットを使用して、:age のプロットを追加しましたが、残念ながら、これを 3 つのプロットにわたって機能するように設定しようとすると、機能させることができませんでした。 いつでも 3 つのうち 2 つを動作させることができます。
ロジックを説明するためにスクリプトにコメントを追加していただけますか? ご不便をおかけして申し訳ございません。
私の場合、中央のプロット (:weight) をクリックすると、すべてのプロットをカバーする基準線が上下に描画されるだけで十分です。
私がやったことは次のとおりです。
デフォルトの名前はここにあります( 1 ) ;
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" ) ;
ギガバイト= dt <<グラフビルダー(
サイズ( 528 、 448 ) 、
コントロールパネルを表示( 0 ) 、
変数(バツ(列の変換( "行" 、方式(行() ) ) ) 、 Y ( :身長) 、 Y ( :重さ) 、 Y ( :年) ) 、
) ;
::エックス= 1 ;
gbfb3 =報告(ギガバイト)[フレームボックス( 3 )] ;
gs3 =エクスプレッション(
gbfb3 <<グラフィックススクリプトの追加(
ペンの色( "赤" ) ;
ペンのサイズ( 2 ) ;
ネズミ捕り( ::エックス=バツ; gbfb1 <<グラフィックススクリプトの削除( 1 ) ; gs1 ) ;
Vライン( ::エックス) ;
) ;
) ;
gbfb1 =報告(ギガバイト)[フレームボックス( 1 )] ;
gs1 =エクスプレッション(
gbfb1 <<グラフィックススクリプトの追加(
ペンの色( "赤" ) ;
ペンのサイズ( 2 ) ;
ネズミ捕り( ::エックス=バツ; gbfb2 <<グラフィックススクリプトの削除( 1 ) ; gs2 ) ;
Vライン( ::エックス) ;
) ;
) ;
gbfb2 =報告(ギガバイト)[フレームボックス( 2 )] ;
gs2 =エクスプレッション(
gbfb2 <<グラフィックススクリプトの追加(
ペンの色( "赤" ) ;
ペンのサイズ( 2 ) ;
ネズミ捕り( ::エックス=バツ; gbfb3 <<グラフィックススクリプトの削除( 1 ) ; gs3 ) ;
Vライン( ::エックス) ;
) ;
) ;
gs1 ;
gs2 ;
gs3 ;
結果のプロットは次のようになります。

「年齢」プロット内をクリックすると、Ref がすべてうまくいきます。すべてのプロットにわたってマウスを使用して線を移動します。
ただし、「高さ」プロット内をクリックすると、次のことが起こります。
基準線は「身長」と「体重」を通過しますが、「年齢」は通過しません

同様に、「重み」プロット内をクリックすると、次のことが起こります。
基準線は「体重」と「年齢」を通過しますが、「身長」は通過しません

見ていただけますか?
ありがとう、
フィリップ
Re: 複数のプロットにわたって動的 X 参照線を表示する方法はありますか?おそらく、このアプローチを特定のケースに適応させることができます。
デフォルトの名前はここにあります( 1 );
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt <<グラフビルダー(
サイズ( 528 、 448 )、
コントロールパネルを表示( 0 )、
変数( X( 変換列( "行" 、 方式(行() ) ) )、Y( :身長 )、Y( :体重 ) )
);
::exx = 1 ;
gbfb1 =報告(gb)[フレームボックス( 1 )];
gs1 =エクスプレッション(
gbfb1 <<グラフィックススクリプトの追加(
ペンの色( "赤" );
ペンのサイズ( 2 );
ネズミ捕り(::exx = x; gbfb2 <<グラフィックススクリプトの削除( 1 ); gs2);
Vライン(::exx);
);
);
gbfb2 =報告(gb)[フレームボックス( 2 )];
gs2 =エクスプレッション(
gbfb2 <<グラフィックススクリプトの追加(
ペンの色( "赤" );
ペンのサイズ( 2 );
ネズミ捕り(::exx = x; gbfb1 <<グラフィックススクリプトの削除( 1 ); gs1);
Vライン(::exx);
);
);
gs1;
gs2;