Agregar múltiples cuadros de gráficos a una sola ventana sin que copie el anexo más recienteEstoy tratando de crear una ventana que tenga varios cuadros de gráficos agregados para ayudar a visualizar los datos que estoy procesando. La configuración que tengo es similar a esta.
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)
);
);
);El problema es que cada vez que agrega un nuevo cuadro gráfico, cambia todos los cuadros gráficos anteriores para que coincidan con el nuevo. Estoy seguro de que hay una manera de aislar los cuadros de gráficos para que dejen de actualizarse entre sí después de agregar nuevos, pero no puedo entenderlo. Si hago que las cajas sean únicas por tamaño y configuración, no parecen copiarse entre sí. Pero eso frustra el propósito del bucle y la razón por la que estoy tratando de crearlos en primer lugar. Intenté configurar esto como una función y llamarlo, así como configurarlo como una expresión que se evalúa sobre la marcha. Ambos resultados son iguales.
Estoy usando JMP 14.
Re: Agregar múltiples cuadros de gráficos a una sola ventana sin que copien el anexo más recienteApuesto a que todos sus scripts gráficos usan las mismas variables y que cambia el valor en estas variables con cada iteración. Si ese es el caso, todos los gráficos se volverán a dibujar con los nuevos valores. Debe convertir la variable en un valor literal para cada secuencia de comandos de gráficos.
Re: Agregar múltiples cuadros de gráficos a una sola ventana sin que copien el anexo más recienteAquí hay una solución simple. No copia el cuadro de gráfico () en la ventana de salida, sino que copia una imagen del cuadro de gráfico.
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>Re: Agregar múltiples cuadros de gráficos a una sola ventana sin que copien el anexo más recienteEste ejemplo demuestra el enfoque que sugerí.
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]
)
);
);Re: Agregar múltiples cuadros de gráficos a una sola ventana sin que copien el anexo más reciente¡Decir ah! Eso es lo que necesitaba. Estaba tratando de descubrir cómo copiarlo de alguna manera, ya que pensé que sería más fácil, pero no pude encontrar cómo. ¡Copiar una imagen y luego agregarla a un cuadro de imagen funciona perfectamente! Y puedo tomar solo el cuadro de gráfico en sí mismo sin las etiquetas del eje y demás para la imagen, lo que mejora lo que estoy tratando de hacer.
¡Gracias!