Bucle de trazado de variabilidad para todas las columnas seleccionadas con la configuración especificada por el usuarioHola, chicos,
Soy bastante nuevo en JMP Scripting. Necesito un pequeño apoyo. Ahora estoy diseñando una aplicación que hace lo siguiente
Paso 1: cuando el usuario hace clic en un botón. Se abre la ventana del gráfico de variabilidad donde especificamos todas las columnas para trazar, la agrupación del eje x y todas las configuraciones de la tabla de datos activa actual.
obj = dt << Gráfico de variabilidad();
Paso 2: quiero obtener los elementos especificados por el usuario en variables separadas como
col_list = lista de todas las columnas seleccionadas en obj
x_grouping = todas las x variables especificadas
.. para todos los argumentos del Gráfico de variabilidad()
Paso 3: después de extraer toda la información. Ahora ejecutaré un bucle para cada variable de columna pero
para i==1 (primera columna) trazaré el gráfico en el informe... el usuario hará algunos cambios (por ejemplo, agregará una leyenda, especificará el color de fondo, etc.)
ahora aplicaré esta plantilla (todas las configuraciones en este gráfico) a todas las columnas y crearé un informe en una nueva ventana para cada columna.
Tengo el problema siguiente: paso 2 y paso 3, cómo extraer los argumentos para el Gráfico de variabilidad() y realizar la acción
PD: también estoy planeando implementar esto en paralelo para otros tipos de gráficos.
por favor guie
Automatización y secuencias de comandosRe: Bucle de gráfico de variabilidad para todas las columnas seleccionadas con la configuración especificada por el usuarioLa opción más sencilla sería crear usted mismo la interfaz de usuario del iniciador del gráfico de variabilidad. Si no desea hacer eso, puede usar << Get Script para obtener el script que se inició y analizar las columnas de ese
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Distribution();
dist = Current Report()[OutlineBox(1)] << Get Scriptable Object;
dist << get script;Re: Bucle de gráfico de variabilidad para todas las columnas seleccionadas con la configuración especificada por el usuarioPaso 1
obj = dt << Variability Chart();
abrirá el cuadro de diálogo Gráfico de variabilidad y, cuando el usuario haga clic en Aceptar, se ejecutarán todos los gráficos en ese momento.
Sin embargo, una vez que se ha ejecutado el gráfico de variabilidad, puede consultar el script devuelto desde la plataforma del gráfico de variabilidad y obtener las X y las Y.
obj = Variability Chart( Y( :NPN1, :PNP1 ), Model( "Main Effect" ), X( :SITE ) );
theScript = char(obj << get script);
theYsList = words(word(1,substr(theScript,contains(theScript,"Y(")+2),")"),",");
theXsList = words(word(1,substr(theScript,contains(theScript,"X(")+2),")"),",");
Para el paso 2, puede consultar el gráfico mostrado directamente y obtener las distintas configuraciones. Eche un vistazo al Índice de secuencias de comandos para saber cómo obtener el tamaño de fotograma, mínimo y máximo y el incremento para los distintos ejes, etc., que deberá aplicar a las aplicaciones adicionales del Gráfico de variabilidad.
Creo que el enfoque sugerido será más problemático que beneficioso. Le sugiero que, en lugar de utilizar el cuadro de diálogo Gráfico de variabilidad, cree su propio cuadro de diálogo, parecido al cuadro de diálogo Gráfico de variabilidad, que luego le permitirá obtener toda la información que necesita por adelantado, y luego los pasos 2 y 3 le permitirán obtener toda la información que necesita desde el principio. resultar mucho más fácil de implementar.
Consulte la Guía de secuencias de comandos para obtener información sobre cómo crear su propio cuadro de diálogo ventana nueva.
Re: Bucle de gráfico de variabilidad para todas las columnas seleccionadas con la configuración especificada por el usuario@txnelson Muchas gracias por tu conocimiento. En realidad, mi objetivo principal es tener una ventana de informe separada para cada columna. Por ejemplo, si selecciono 5 columnas para Y y en el informe obtenemos un gráfico para los 5 parámetros. Si agrego una leyenda, cambio el color, etc. en el primer gráfico del cuadro Esquema, quiero escribir un script para separar cada gráfico en una ventana separada y al mismo tiempo usar los cambios que hice en el primer gráfico. Hay una manera de lograr esto. Por favor sugiera
Re: Bucle de gráfico de variabilidad para todas las columnas seleccionadas con la configuración especificada por el usuarioA continuación se muestra un ejemplo de una forma de manejar lo que creo que desea hacer. El guión está muy incompleto y necesita que se le agreguen muchas excepciones, pero debería brindarle un punto de partida.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
nw = New Window( "Col List Box Example",
modal,
H List Box(
Col List Box( all, width( 250 ) ),
V List Box(
Lineup Box( N Col( 2 ),
ybb = Button Box( "Y Col" ),
Y = Col List Box( Show( "run" ) ),
xbb = Button Box( "X Col" ),
x = Col List Box(),
Button Box( "Cancel",
nw << close window;
Throw();
),
Button Box( "OK",
ycols = y << get items;
xcols = x << get items;
)
)
)
)
);
// ycols and xcols now have been populated and you can then bring up one graph and
// let the user make the changes
nw = New Window( "Graphical Settings",
modal,
vc = dt << Variability Chart( Y( ycols[1] ), Model( "Main Effect" ), X( xcols[1] ) );
vc << on close(
// In the closing of the Variability Chart capture the script
theScript = Char( vc << get script );
);
);
// Run all of the graphs
For Each( {theCol, index},ycols, Eval( Parse( Substitute( theScript, ycols[1], theCol ) ) ) );