Légende de lignes alternées JSL pour plusieurs graphiques de variabilité dans une seule fenêtreSalut tout le monde,
Je suis coincé avec un scénario. J'ai un graphique de variabilité qui comporte 8 graphiques différents dans une fenêtre en utilisant deux fois la clause by. Un cas a deux options et je souhaite ajouter une légende de ligne avec une colonne pour un cas et une autre pour l'autre, car les couleurs de valeur sont définies différemment pour un cas.
Vous trouverez ci-dessous le code JSL que j'essaie mais qui ne fonctionne même pas pour afficher les légendes des lignes. Toute aide serait appréciée.
dt = Open("$SAMPLE_DATA/Cars.jmp");
Column(dt, "Size" ) << Set Property( "Value Colors", {"It" = 0} );
vc = Variability Chart(
Y( :Wt ),
X( :Model ),
Show Range Bars( 0 ),
Show Cell Means( 0 ),
Std Dev Chart( 0 ),
By( :"D/P"n, :Protection )
);
If (Column(dt, "D/P"n)[1] == "Driver",
vc << Row Legend("Doors");
);
If (Column(dt, "D/P"n)[1] == "Passenger",
vc << Row Legend("Size");
);

Les exemples ci-dessus seraient le cas idéal où si d/p="Driver" alors les portes sont ajoutées comme légende de ligne et utilisent des couleurs normales. Mais si la taille d/p="passenger" est ajoutée comme légende de ligne et que la taille a la valeur colours définie sur noir, elle l'ajoutera automatiquement comme elle devrait l'être, comme indiqué dans ma question précédente : https://community.jmp.com/t5/Discussions/JSL-coloring-single-element-of-legend-to-a-custom-color/mp/676602#M86324
Merci et je recherche idéalement du code JSL pour faire ça si possible !
Automatisation et scriptsAnalyse et modélisation des données de baseExploration et visualisation des donnéesRe : Légende de lignes alternées JSL pour plusieurs graphiques de variabilité dans une seule fenêtreLa légende de la ligne est définie sur Frame Box

Vous devez donc définir la légende de la ligne sur différentes framebox. Vous pouvez soit parcourir les framebox, soit utiliser une autre méthode pour obtenir des références à celles-ci (XPath). Ci-dessous un exemple utilisant la boucle
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Cars.jmp");
Column(dt, "Size") << Set Property("Value Colors",
{"comp" = -15113984, "hev" = -5682409, "lt" = 0, "med" = -29362, "mini"
= -13983232, "mpv" = -13400487, "pu" = -16442434, "van" = -9282864}
);
wait(0);
vcs = dt << Variability Chart(
Y(:Wt),
X(:Model),
Show Range Bars(0),
Show Cell Means(0),
Std Dev Chart(0),
By(:"D/P"n, :Protection)
);
obs = vcs << report;
// ob_titles = obs << get title;
For Each({cur_ob, idx}, obs,
//cur_ob = obs[1];
cur_title = cur_ob << get title;
If(Contains(cur_title, "Variability Gauge D/P=Driver"),
cur_ob[FrameBox(1)] << Row Legend("Doors");
, Contains(cur_title, "Variability Gauge D/P=Passenger"),
cur_ob[FrameBox(1)] << Row Legend("Size", Color Theme(""));
, // else (do nothing)
continue();
);
// show(cur_title, idx);
);