가장 최근의 추가 내용을 복사하지 않고 단일 그래프에 여러 그래프 상자 추가처리중인 데이터를 시각화하는 데 도움이되는 여러 그래프 상자가 추가 된 창을 만들려고합니다. 내가 가진 설정은 이것과 비슷합니다.
thisWindow = new window("Test Window");
for(x = 1, x <=nitems(thingsToDraw), x++,
thisWindow << append(
graph box(
(setup of X and Y axis, scales and such)
(for loops that create dynamic shapes in the graph box)
);
);
);문제는 새 그래프 상자를 추가 할 때마다 이전 그래프 상자가 모두 새 그래프 상자와 일치하도록 변경됩니다. 그래프 상자를 분리하여 새 상자를 추가 한 후 서로 업데이트를 종료하는 방법이 있지만 확실하지 않습니다. 크기와 설정을 통해 상자를 모두 고유하게 만들면 서로를 복사하지 않는 것 같습니다. 그러나 그것은 루프의 목적과 내가 그것을 만들려고하는 이유를 무너 뜨립니다. 나는 이것을 함수로 설정하고 호출 할뿐만 아니라 즉시 평가되는 표현식으로 설정하려고 시도했습니다. 두 결과는 동일합니다.
JMP 14를 사용하고 있습니다.
다시 : 가장 최근의 추가를 복사하지 않고 여러 개의 그래프 상자를 단일 창에 추가모든 그래픽 스크립트가 동일한 변수를 사용하고 각 반복 마다이 변수의 값을 변경하는 것이 좋습니다. 이 경우 모든 플롯이 새 값으로 다시 그려집니다. 변수를 각 그래픽 스크립트의 리터럴 값으로 변환해야합니다.
다시 : 가장 최근의 추가를 복사하지 않고 여러 개의 그래프 상자를 단일 창에 추가간단한 해결책은 다음과 같습니다. Graph Box ()를 출력 창에 복사하지 않고 그래프 상자의 그림을 복사합니다.
thisWindow = new window("Test Window");
for(x = 1, x <=nitems(thingsToDraw), x++,
thisWindow << append(
graph box(
(setup of X and Y axis, scales and such)
(for loops that create dynamic shapes in the graph box)
)<<GET picture=""></GET>다시 : 가장 최근의 추가를 복사하지 않고 여러 개의 그래프 상자를 단일 창에 추가이 예제는 내가 제안한 접근법을 보여줍니다.
Names Default to Here( 1 );
nw = New Window( "Multiple Plots",
vlb = V List Box()
);
a = [ 1, 2, 3, 4 ];
b = [ 2, 4, 6, 8 ];
c = [ 4, 3, 2, 1 ];
d = [ 8, 6, 4, 2 ];
For( plot = 1, plot <= N Row( a ), plot++,
Eval(
Substitute(
Expr(
vlb << Append(
Graph Box(
X Scale( -6, 6),
Y Name( "Amplitude" ),
Y Scale( -10, 10 ),
Y Function( aa + bb * Sine( cc * x / dd ), x )
)
);
),
Expr( aa ), a[plot],
Expr( bb ), b[plot],
Expr( cc ), c[plot],
Expr( dd ), d[plot]
)
);
);다시 : 가장 최근의 추가를 복사하지 않고 여러 개의 그래프 상자를 단일 창에 추가하아! 그것이 내가 필요한 것입니다. 어떻게 든 더 쉬울 것이라고 생각하면서 어떻게 복사하는 방법을 찾으려고 노력했지만 방법을 찾을 수 없었습니다. 그림을 복사 한 다음 그림 상자에 추가하면 완벽하게 작동합니다! 그리고 축 레이블과 이미지 등을 사용하지 않고 그래프 상자 자체를 가져 와서 내가하려는 일을 향상시킬 수 있습니다.
감사!