我正在使用建議的方法@XanGregg在這個帖子在圖形生成器中繪製矢量圖。但是,本地數據過濾器似乎對箭頭不起作用。 它只過濾點,但不過濾箭頭。 您對如何修復它有什麼建議嗎?
如果您想使用本地數據過濾器來實現此操作,請參閱腳本索引示例:
box<<獲取行狀態
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 )}
)
)
)
)
);謝謝@tx尼爾森。 您能舉個例子嗎? 我對JSL不是很熟悉。 我怎樣才能使圖形腳本來識別本地數據過濾器並繞過這些行的箭頭繪製?
您將需要修改添加圖形腳本代碼以識別新過濾器,然後繞過這些行的箭頭繪製。有X Origin()和Y Origin()、X Range()和Y Range()等函數可以檢查圖形是否發生變化,然後可以顯示過濾後的箭頭。