Marque la casilla para activar o desactivar la fluctuación en Graph BuilderHola,
Me gustaría tener un objeto de casilla de verificación en la parte superior de la vista del generador de gráficos para activar/desactivar la separación de puntos superpuestos (inestabilidad). Sé que esto se puede hacer desde el panel de control, pero desde la perspectiva de la visualización, quiero mantener el panel de control cerrado.
Script de ejemplo a continuación que crea elementos de control para el jitter en la parte superior del gráfico. A pesar de mis mejores esfuerzos, no puedo hacer que la casilla de verificación alterne el jitter; No sé cuál es la forma correcta de enviar la actualización al informe.
Estoy solicitando su ayuda con la sintaxis.
Names Default To Here(1);
dt= Open("$SAMPLE_DATA/Big Class.jmp");
gb=Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements(
Points( X, Y )
)
);
jitter = 1;
jitter_elements=H List Box(
cb=Check Box(
{"Jitter enabled"},
If(cb<<GET> gb << SendToReport(Elements(Points(Jitter( "Positive Grid" ), Jitter Limit( jitter )))), // This is not correct but something like this (maybe)
gb << SendToReport(Elements(Points(Jitter( "None" )))) // This is not correct but something like this (maybe)
);
),
sb = Slider Box( 0, 2, jitter,
neb << set( jitter );
),
neb = Number Edit Box(jitter,
<<SETFUNCTION></SETFUNCTION></GET>secuencias de comandosRe: Casilla de verificación para activar/desactivar el jitter en Graph BuilderBuena idea, no es obvio cómo hacerlo, esperando una respuesta.
Re: Casilla de verificación para activar/desactivar el jitter en Graph BuilderManipular elementos es un desastre, que yo sepa, y se vuelve aún más complicado cuando tienes agrupaciones. Es por eso que trato de (generalmente) evitarlo y simplemente rehacer el gráfico. Aquí hay una forma en que podría intentar usar Elementos de actualización para cambiar Jitter
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
jitter = 1;
New Window("",
V List Box(
H List Box(
cb = Check Box(
{"Jitter enabled"},
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("None")});
)
),
sb = Slider Box(0, 2, jitter, neb << set(jitter)),
neb = Number Edit Box(
jitter,
<<SETFUNCTION></SETFUNCTION>
Otras funciones útiles pueden ser Agregar elementos y Eliminar elementos, consulte también esta publicación Actualización de la instrucción Elemento del generador de gráficos
Re: Casilla de verificación para activar/desactivar el jitter en Graph BuilderGracias Jarmo,
Su solución (Actualizar elementos) funciona bien, muy bien.
A continuación se muestra una versión modificada adicional para obtener también el control deslizante y los cuadros numéricos que actualizan el gráfico.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
jitter = 0.2;
New Window("",
V List Box(
H List Box(
cb = Check Box(
{"Jitter enabled"},
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("None")});
)
),
sb = Slider Box(0.1, 0.2, jitter,
neb << set(jitter);
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
);
),
neb = Number Edit Box(
jitter,
<<SETFUNCTION>0.2, jitter=0.2);
sb << inval;
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
);
neb << set(jitter);
)
)
)
),
gb = dt << Graph Builder(Show Control Panel(0), Variables(X(:height), Y(:weight)), Elements(Points(X, Y)));
)
);</SETFUNCTION>