グラフビルダーとスライダーを組み合わせて使用して、プロットの外観を変更します。以下の例では、マップとスライダー ボックスを含むウィンドウを作成して、色のスケールを対話的に変更します。 スクリプトを使用してさまざまなウィンドウを作成します (もちろん、さまざまな変数を使用する場合もありますが、この例ではこのようなものは必要ありません)。名前空間を使用して変数を割り当てようとしても、最後に作成されたウィンドウに対してのみ機能します。 別の方法を試しましたが、すべて失敗しました。 誰か助けてくれませんか?
Names Default To Here(1);
dtable= Open("$SAMPLE_DATA/SAT.jmp");
name="Map";
For(k=1, k<=10, k++,
If(Namespace Exists(Eval("ns" || name || Char(k))),
//If(k = 10,
// hanlde the max number of allowed namespaces
//);
,
name= name || char(k);
nsRef = New Namespace(Eval("ns" || name ));
Break();
)
);
nsRef << Insert("column", "% Taking (2004)");
nsRef << Insert("min", col min(column(dtable, "% Taking (2004)")));
nsRef << Insert("max", col max(column(dtable, "% Taking (2004)")));
nsRef << Insert("slmin", col min(column(dtable, "% Taking (2004)")));
nsRef << Insert("slmax", col max(column(dtable, "% Taking (2004)")));
datacolumn=column(dtable, nsRef:column );
nsRef << Insert("slider1",
slider box(nsRef:min,nsRef:max,nsRef:slmax,
title= Current Window() << Get Window Title;
ns = NameSpace(Eval("ns" || title));
slmin=ns:slmin;
slmax=ns:slmax;
scale=Matrix( {slmin,slmax} );
scale=scale`;
ns:gb <<SENDTOREPORT></SENDTOREPORT>
あなたは正しい方向に進んでいます。 ローカル スペースは必要ですが、タスクに応じて、いくつかのオプションをお勧めします。
- 凡例を変更するだけであり、各 GB は別のウィンドウに表示されるため、これを行う簡単な方法は、ウィンドウ スコープ、ウィンドウ名前空間を使用することです。ウィンドウ:slider1 = SliderBox() 。 添付のスクリプトを参照してください。
- 凡例のみが変更されており、ウィンドウ内に複数の GB がある場合は、 <対応する GB への相対参照を使用するスライダー ボックスの場合。 GB と HListBox(TextBox, Sliderbox) が VListBox にネストされている場合、関数は VListBox にアクセスするための (this<
- Y は異なるが X が同じ複数の GB があるとします。 X を制限するか、Y2 ではなく Y1 の行を除外する場合は、各 GB に独自の行を含める必要があります。データ フィルター コンテキスト ボックス() 、ローカル データ フィルター。
ウィンドウ スコーピングを使用する添付のスクリプトが現在のニーズを満たすことを願っています。