Plusieurs générateurs de graphiques et sélection croiséeHé,
j'ai une table de données assez volumineuse similaire à ce format :

à partir duquel nous créons un ensemble de générateurs de graphiques permettant de visualiser différents types de tests et tests les uns à côté des autres, un peu comme ceci (un type de test à droite avec des tests sous forme de pages et des lots en superposition, puis l'autre type de test sur la droite mais la même configuration) :

Nous aimerions sélectionner les lots dans un graphique et les mettre ensuite en surbrillance dans les autres, mais comme la sélection s'effectue sur les lignes, elles ne seront bien sûr pas mises en surbrillance.
Je voulais mettre un petit script pour forcer les deux graphbuilders à sélectionner tous les lots existant dans la sélection, mais je n'arrive pas à le faire fonctionner. Je ne parviens pas à trouver la bonne fonction à définir avec le graphbuilder pour capturer un tel événement.
J'ai un petit script comme celui-ci qui sélectionnera toutes les lignes associées aux lignes sélectionnées :
batches = AssociativeArray(:Batch[dt << get selected rows])<< Get Keys;
dt << Select Where( Contains( batches, :Batch ) );
Existe-t-il une fonction que je peux définir sur le graphbuilder qui déclenchera ce script en cas de changement de sélection ?
Ou y a-t-il mieux pour réaliser ce que nous recherchons ici ?
(Nous avons également des problèmes lorsque nous voulons changer les couleurs de certains lots et les faire refléter sur tous les graphiques puisque nous avons l'ID de lot en superposition. Je pense que je peux également m'en sortir par script si je peux simplement trouver le bons déclencheurs).
J'ai parcouru l'index de script pour trouver toutes sortes de fonctions à définir, mais elles ne semblent pas avoir d'effet sur le générateur de graphiques, mais elles n'échouent pas non plus.
Je suis sur JMP 17.1 pour MacOS (14.3.1).
Merci d'avance,
Daniel
Automatisation et scriptsExploration et visualisation des donnéesRe : Générateurs de graphiques multiples et sélection croiséeMerci pour la réponse Jarmo!
Je vais y jeter un œil et si cela se produit, je reviendrai simplement à la création d'un bouton à la place.
Ce n'est pas joli mais je suppose que ça marchera au moins 
Merci encore,
Daniel
Re : Générateurs de graphiques multiples et sélection croiséeIl n’existe pas vraiment d’options simples pour ce faire en dehors de l’utilisation d’un bouton. Vous pourrez peut-être utiliser des tables en double et des gestionnaires d'état de ligne, mais je suggère de le faire, car le gestionnaire d'état de ligne est très bogué dans JMP.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
dt2 = dt << Subset(All Rows, Selected Columns(0), private);
f = Function({a},
selages = dt[a, "age"];
rowstoselect = dt2 << Get Rows Where(Contains(selages, :age));
rowstates = J(1, N Rows(dt2), 0);
rowstates[rowstoselect] = 1;
dt2 << Set Row States(rowstates);
);
rs = dt << make row state handler(f);
nw = New Window("",
H List Box(
gb = dt << Graph Builder(
Size(525, 490),
Show Control Panel(0),
Variables(X(:age), Y(:height), Group X(:sex)),
Elements(Bar(X, Y, Legend(12)))
),
gb2 = dt2 << Graph Builder(
Size(525, 448),
Show Control Panel(0),
Variables(X(:age), Y(:height)),
Elements(Bar(X, Y, Legend(4))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Fill Selection Mode("Selected Outlined")}
)
)
)
)
);
Je vais créer un élément de liste de souhaits concernant ce type de cas, mais en attendant, voici un élément de liste de souhaits dans l'espoir que JMP améliorera les différents gestionnaires dont nous disposons.
Améliorer les gestionnaires d'état de JMP (étiquette de survol, gestionnaire d'état de ligne, gestionnaire d'état de filtre, planificateur, ...)