cambiar dinámicamente las opciones de Dispatch() enviadas a GraphBuilderNecesito cambiar algunas de las opciones enviadas al Graph Builder según las opciones en el script.No puedo entender cómo hacer que funcione.
Este script funciona para hacer que el gráfico Escala ("Registro"), Formato ("Ingeniería", 12):
Graph Builder(
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 ) )
),
SendToReport(
Dispatch(
{},
analysisTests[i],
ScaleBox,
{Scale("Log"), Format("Engineering", 12)}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( title )}
)
)
)
Pero cuando trato de enviar esa información como esta no funciona, aunque me parece lo mismo:
ScaleboxVariables = {};<BR />if(log != 0,
ScaleboxVariables = Insert(ScaleboxVariables, Expr(Scale("Log")) );
ScaleboxVariables = Insert(ScaleboxVariables, Expr(Format( "Engineering", 12 )) );
);
Dispatch(
{},
analysisTests[i],
ScaleBox,
ScaleboxVariables
),
¡Cualquier ayuda con esto sería apreciada!
Gráficossecuencias de comandosRe: cambiar dinámicamente las opciones de Dispatch() enviadas a GraphBuilderGracias Marcos, fue muy útil. He estado construyendo los gráficos que necesito en el generador de gráficos, luego copio el script que JMP genera para él y luego lo edito con mis propias variables y simplemente no logro que funcione. Su solución funcionó muy bien y me ayudó a comprender mejor el proceso para todos los cambios que quiero implementar.Re: cambiar dinámicamente las opciones de Dispatch() enviadas a GraphBuilderdos términos
- objeto de plataforma: la lógica detrás del generador de gráficos. No es visible.
- árbol de cuadro de visualización de superficie de informe: la salida del generador de gráficos. Un gráfico visible, controles deslizantes, botones.
Mark tiene razón; la sintaxis de envío se creó para máquinas, no para humanos. El mensaje de Despacho contiene información que el objeto de la plataforma usa para encontrar un cuadro de visualización en el informe.Si necesita usarlo, el Enviar a informe los despachos deben ser enviados así:
dt = Open( "$sample_data/big class.jmp" );
gb = dt << Graph Builder(
Size( 512, 442 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
// SendToReport(
// Dispatch( {}, "weight", ScaleBox, {Scale( "Log" ), Format( "Best", 6 ), Min( 60 ), Max( 200 ), Inc( 1 ), Minor Ticks( 1 )} ),
// Dispatch( {}, "height", ScaleBox, {Format( "Engineering", 12 )} )
// )
);
newFormat = {"Percent", "Engineering", "Best"};
newScale = {"Linear", "Log", "Linear"};
newInc = {10, 1, 20};
For( i = 1, i <= N Items( newFormat ), i += 1,
Wait( 1 ); // wait only needed for the demo!
gb << Dispatch( {}, "weight", ScaleBox, {Scale( newScale[i] ), Format( "Best", 6 ),
Min( 60 ), Max( 200 ), Inc( newInc[i] ), Minor Ticks( 0 )} );
gb << Dispatch( {}, "height", ScaleBox, {Format( newFormat[i], 12 )} );
);GB es el objeto de plataforma que el < se envía el mensaje a. no envíes el < mensaje a la superficie del informe. Enviar a informe (...) le está diciendo al objeto de la plataforma que envíe mensajes al árbol de informes.
Mark sugiere usar
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );
En todo lo anterior, GB es el objeto de la plataforma del generador de gráficos. En el ejemplo de Marcos, representante de gb es el árbol de informes del cuadro de visualización que pertenece al objeto de la plataforma del generador de gráficos. enviando el < mensaje a la GB El objeto de plataforma recupera la raíz del árbol del cuadro de visualización (la superficie del informe, la parte visible). Suscribir la raíz devuelve un subárbol más específico del árbol del cuadro de visualización:
gb rep[AxisBox(2)]
Eso es a lo que Mark quiere enviar el mensaje Formatear. Una forma de obtener ese subíndice es usar Mostrar estructura de árbol.
Show Tree Structure: right-click on the open-close triangle.Show Tree Structure: right-click on the open-close triangle.Mostrar estructura de árbol: haga clic con el botón derecho en el triángulo abierto-cerrado.
Las ventanas del informe y de la estructura de árbol están vinculadas; Hice clic en el eje de altura. El eje de altura y su información en la estructura de árbol están resaltados. AxisBox(2) es el segundo cuadro de eje del informe.
Re: cambiar dinámicamente las opciones de Dispatch() enviadas a GraphBuilderPara añadir a @Mark_Bailey todos los mensajes y funciones que se pueden pasar a los diversos objetos de visualización en la salida de las plataformas JMP se describen con ejemplos en el índice de secuencias de comandos..Los resultados de las diversas plataformas JMP se muestran en estructuras llenas de objetos, denominadas árboles de visualización. Por lo tanto, también sugiero que lea la sección de la Guía de secuencias de comandos sobre árboles de visualización.Abrirá un mundo completamente nuevo de las cosas maravillosas que uno puede hacer con la salida de JMP Platforms.
Re: cambiar dinámicamente las opciones de Dispatch() enviadas a GraphBuilderComo he dicho en respuesta a muchas otras discusiones aquí, el argumento Enviar a informe se desarrolló para que JMP pueda guardar las personalizaciones cuando guarda un script. No fue desarrollado para nosotros. Hay mejores maneras. Envíe el mensaje Formato directamente al cuadro del eje. Como esto:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );