Cuando construyo un gráfico a partir de un dt como este:
gb = Data_Table << Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X( :Split ),
X( :Wafer, Position( 1 ) ),
Y( As Column( analysisTests[i] ) ),
Color( :Split )
),
Elements(
Points( X( 1 ), X( 2 ), Y, Legend( 21 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 22 ) )
)
);
Funciona muy bien.Sin embargo, si lo pongo todo en un bucle, con la esperanza de generar un conjunto de gráficos (uno para cada una de las etiquetas de columna) cada uno en su propia ventana, simplemente actualiza el primer gráfico en su lugar:
for(i = 1, i <= N Items(analysisTests), i++,
gb = Data_Table << Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X( :Split ),
X( :Wafer, Position( 1 ) ),
Y( As Column( analysisTests[i] ) ),
Color( :Split )
),
Elements(
Points( X( 1 ), X( 2 ), Y, Legend( 21 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 22 ) )
)
);
);¿Cómo hago para que muestre un conjunto de gráficos, cada uno en su propia ventana?Parece que debido a que está pidiendo un gráfico basado en una tabla de datos, necesitaría varias tablas de datos, cada una con su propio gráfico, pero parece que debería haber una manera más fácil.Intenté gb [i] con la esperanza de obtener un gráfico separado para cada ciclo, pero eso da un error. - Valor no subscriptable en el acceso o evaluación de 'Asignar'
No estoy seguro de por qué es eso: esperaría que la acción predeterminada sea que se creen ventanas separadas; como en este script:
dt = open("$SAMPLE_DATA/Big Class.jmp");
cols = dt << get column names;
for (i=1,i<=nitems(cols),i++,
dt << Graph Builder(
Size( 353, 317 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( eval(cols[i]) ) )
);
)
Si entendí mal lo que querías decir con "ventana", y que lo que realmente quieres son muchos gráficos en una sola ventana, entonces debes colocar el gráfico en un contenedor (que evita que se procese de inmediato) y luego agregarlo a un archivo previo. -cuadro de visualización existente (hlb en este ejemplo)
dt = open("$SAMPLE_DATA/Big Class.jmp");
cols = dt << get column names;
NewWindow("Demo",
hlb = HListBox()
);
for (i=1,i<=nitems(cols),i++,
content = VListBox(
dt << Graph Builder(
Size( 353, 317 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( eval(cols[i]) ) )
)
);
hlb << append(content)
);Gracias David,
Esto es exactamente lo que estaba haciendo, pero solo mostraba el último.Terminé encontrando un error en parte del script "extra" que no mostré y una vez que se solucionó, comenzó a funcionar correctamente.Entonces, su respuesta me mostró que lo estaba haciendo bien y me indicó la dirección correcta para encontrar el problema real.Gracias