¿Cómo cambiar el Grupo X para mostrar todos los elementos o solo algunos elementos?¿Cómo cambiar el Grupo X para mostrar todos los elementos o solo algunos elementos?
Como se muestra en el JSL a continuación, usar Where puede hacer que el Grupo X muestre solo elementos específicos. Sin embargo, no es posible alternar entre mostrar todos los elementos o mostrar solo algunos. ¿Cómo se debería modificar esto? Quizás sea necesario usar add variable(), pero no encuentro cómo usar add where.
Names Default To Here( 1 );
selection = 1;
New Window( "Example",
cb = Combo Box( {"Only age 13 and 16", "All age"}, selection = (cb << Get()) ),
Button Box( "Plot",
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 528, 500 ),
Show Control Panel( 0 ),
Variables( X( :sex ), X( :age, Position( 1 ) ), Y( :height ), Group X( :age ) ),
Elements( Points( X( 1 ), X( 2 ), Y, Legend( 10 ) ) ),
If( selection == 1,
Where( Contains( {13, 16}, :age ) ),
),
);
)
);
Automatización y scriptingRe: ¿Cómo cambiar el Grupo X para mostrar todos los elementos o solo algunos elementos?Tienes varias opciones diferentes:
- tener dos expresiones de generación de gráficos independientes
- utilizar filtro de datos locales (oculto)
- Construya la expresión del generador de gráficos con Where
- Utilice un subconjunto vinculado (que se filtra utilizando sus condiciones) para el generador de gráficos
Aquí hay una forma de usar Where
Names Default To Here(1);
selection = 1;
New Window("Example",
cb = Combo Box({"Only age 13 and 16", "All age"}, selection = (cb << Get())),
Button Box("Plot",
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb_expr = Expr(Graph Builder(
Size(528, 500),
Show Control Panel(0),
Variables(X(:sex), X(:age, Position(1)), Y(:height), Group X(:age)),
Elements(Points(X(1), X(2), Y, Legend(10)))
));
If(selection == 1,
Insert Into(gb_expr, NameExpr(Where(Contains({13, 16}, :age))));
);
gb = Eval(EvalExpr(Send(dt, Expr(gb_expr))));
)
);