플롯의 모양을 변경하려면 슬라이더와 함께 그래프 빌더를 사용하겠습니다.아래 예에서는 색상의 스케일을 대화식으로 변경하기 위해 지도와 슬라이더 상자가 있는 창을 만듭니다. 나는 스크립트를 사용하여 다른 창을 만들 것입니다(물론 다른 변수를 사용해도 가능하지만 예제에서는 이 항목이 필요하지 않습니다).네임스페이스를 사용하여 변수를 할당하려고 시도했지만 마지막으로 생성된 창에서만 작동합니다. 나는 다른 방법으로 시도했지만 모두 실패했습니다. 누구든지 도와줄 수 있나요?
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가 있는 경우 <<함수 설정( Function()) 해당 GB에 대한 상대 참조를 사용하는 슬라이더 상자의 경우. GB 및 HListBox(TextBox, Sliderbox)가 VListBox에 중첩된 경우 함수는 (this<< parent)<
- Y는 다르지만 X는 동일한 GB가 여러 개 있다고 가정합니다. X를 제한하거나 Y1에 대한 행을 제외하고 Y2는 제외하려면 각 GB마다 고유한 값이 있어야 합니다. 데이터 필터 컨텍스트 상자() , 로컬 데이터 필터.
창 범위 지정을 사용하는 첨부된 스크립트가 현재 요구 사항을 충족할 수 있기를 바랍니다.