私はによって提案されたアプローチを使用しています@XanGreggのこの郵便受けグラフビルダーでベクトルプロットを作成します。ただし、ローカルデータフィルターは矢印では機能しないようです。 ポイントのみをフィルタリングし、矢印はフィルタリングしません。 それを修正する方法について何か提案はありますか?
ローカルデータフィルターを使用してこれを機能させる場合は、次のスクリプトインデックスの例を参照してください。
ボックス<<行の状態を取得
box<
これらは、DataTableオブジェクトで使用できるメソッドに似ていますが、指定されたボックスがフィルターの対象である場合、データテーブルの行の状態ではなくフィルターの行の状態を使用します。
以下は、ローカルデータフィルターではなく、データフィルターを使用して必要な処理を実行したJSLの一部です。データフィルターは、データテーブルの行を除外および非表示にします。これらの行は、グラフィックの追加スクリプトで簡単に選択できます。ローカルデータフィルターを使用すると、はるかに複雑になります。この方法がうまくいくかどうかを確認してください
Names Default To Here( 1 );
dt = Current Data Table();
New Window( "Filtered Arrows",
Lineup Box( N Col( 2 ),
dt << Data Filter(
Location( {780, 189} ),
Width( 197 ),
Mode( Show( 1 ), Include( 1 ) ),
Add Filter( columns( :Speed ), Display( :Speed, Size( 185, 20 ), Height( 50 ) ) )
),
dt << Bivariate(
Y( :Lat1 ),
X( :Lon1 ),
SendToReport(
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Frame Size( 501, 429 ), Add Graphics Script(
2,
Description( "Script" ),
Pen Size( 2 );
For Each Row(
If( Excluded( Row State( Row() ) ) == 0,
Arrow( {:lon1, :lat1}, {:lon2, :lat2} )
)
);
), Grid Line Order( 3 ), Reference Line Order( 1 )}
)
)
)
)
);ありがとう@txnelson 。 例を挙げていただけますか? 私はJSLにあまり詳しくありません。 どうすればグラフィックスクリプトは、ローカルデータフィルターを認識し、それらの行の矢印の描画をバイパスしますか?
新しいフィルターを認識するようにグラフィックスクリプトの追加コードを変更してから、それらの行の矢印の描画をバイパスする必要があります。X Origin()とY Origin()、X Range()とY Range()など、グラフが変更されたかどうかを確認できる関数があり、フィルター処理された矢印を表示できます。