cambiar dinámicamente las opciones de Dispatch () enviadas a GraphBuilderNecesito cambiar algunas de las opciones enviadas al Graph Builder según las opciones del script.No sé cómo hacer que funcione.
Este script funciona para hacer 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 intento enviar esa información de esta manera, no funciona, aunque a mí 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á apreciada!
GráficosScriptingRe: cambiar dinámicamente las opciones de Dispatch () enviadas a GraphBuilderComo dije en respuesta a muchas otras discusiones aquí, el argumento Enviar a informe se desarrolló para que JMP pueda guardar personalizaciones cuando guarda un script. No fue desarrollado para nosotros. Hay mejores formas. Envíe el mensaje de formato directamente al cuadro del eje. Me gusta 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 );
Re: cambiar dinámicamente las opciones de Dispatch () enviadas a GraphBuilderPara añadir a @markbailey Todos los mensajes y funciones que se pueden pasar a los distintos objetos de visualización en la salida de las plataformas JMP se describen con ejemplos en el Índice de secuencias de comandos..La salida de las diversas plataformas JMP se muestra en estructuras llenas de objetos, llamadas Árboles de visualización. Por lo tanto, también le 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 GraphBuilderDos términos
- objeto de plataforma: la lógica detrás del generador de gráficos. No es visible.
- árbol del cuadro de visualización de la superficie del 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 Despacho contiene información que utiliza el objeto de plataforma para encontrar un cuadro de visualización en el informe.Si necesita usarlo, el SendToReport los despachos deben enviarse 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 << Envío se envía el mensaje a. No envíe el << Envío mensaje a la superficie del informe. SendToReport (...) 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 Mark, 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 << informe mensaje al gb El objeto de plataforma recupera la raíz del árbol del cuadro de visualización (la superficie del informe, la parte visible). El subíndice de la raíz devuelve un subárbol más específico del árbol del cuadro de visualización:
gb rep[AxisBox(2)]
A eso es a lo que Mark quiere enviar el mensaje de formato. Una forma de obtener ese subíndice es utilizando Mostrar estructura de árbol.
Mostrar estructura de árbol: haga clic con el botón derecho en el triángulo de apertura y cierre.
El informe y las ventanas de estructura de árbol están vinculadas; Hice clic en el eje de altura. El eje de altura y su información en la estructura del árbol se resaltan. AxisBox (2) es el segundo cuadro del eje del informe.
Re: cambiar dinámicamente las opciones de Dispatch () enviadas a GraphBuilderGracias Mark, eso fue muy útil. He estado construyendo los gráficos que necesito en el generador de gráficos, luego copiando el script que JMP genera para él y luego editando eso con mis propias variables y simplemente no lo hago funcionar. Su solución funcionó muy bien y me ayudó a comprender mejor el proceso para todos los diferentes cambios que quiero implementar.