Case à cocher pour activer/désactiver la gigue sur le générateur de graphiquesBonjour,
J'aimerais avoir un objet case à cocher au-dessus de la vue du générateur de graphiques pour activer/désactiver la séparation des points qui se chevauchent (jitter). Je sais que cela peut être fait à partir du panneau de configuration, mais du point de vue de la visualisation, je souhaite garder le panneau de configuration fermé.
Exemple de script ci-dessous qui crée des éléments de contrôle pour la gigue en haut du graphique. Malgré tous mes efforts, je n'arrive pas à cocher la case pour basculer la gigue; Je ne sais pas quelle est la bonne façon d'envoyer la mise à jour au rapport.
Je demande votre aide avec la syntaxe.
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>ScriptRe : Case à cocher pour activer/désactiver la gigue sur le générateur de graphiquesBonne idée, pas évident de savoir comment faire, dans l'attente d'une réponse.
Re : Case à cocher pour activer/désactiver la gigue sur le générateur de graphiquesLa manipulation des éléments est un gâchis à ma connaissance et cela devient encore plus désordonné lorsque vous avez un groupement. C'est pourquoi j'essaie (généralement) de l'éviter et de refaire le graphique. Voici une façon d'essayer d'utiliser les éléments de mise à jour pour modifier la gigue
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>
D'autres fonctions utiles peuvent être Ajouter des éléments et Supprimer des éléments, voir également ce post Mise à jour de l'instruction Element du générateur de graphes
Re : Case à cocher pour activer/désactiver la gigue sur le générateur de graphiquesMerci Jarmo,
Votre solution (Mise à jour des éléments) fonctionne bien, très bien.
Vous trouverez ci-dessous une version modifiée pour obtenir également le curseur et les cases numériques mettant à jour le graphique.
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>