Comment ajouter un nom d'étiquette à une légende dans un tracé Graph Builder via JSL ?J'ai un script qui crée un tracé à l'aide de Graph Builder et qui affiche les données des mesures. Après avoir créé le tracé, je parcours les mesures mois par mois et j'utilise la commande Ajouter une variable pour ajouter des ajustements de courbe calculés mensuellement afin de montrer l'évolution au fil du temps des données enregistrées.
Maintenant, j'essaie de comprendre comment je peux ajouter une étiquette à chaque courbe tracée à l'aide d'un script. Les étiquettes de colonne pour les courbes ajustées sont actuellement quelque chose comme "Données du 24 juin", "Données du 24 juillet", etc. Lorsque je clique avec le bouton droit sur la courbe ajustée pour les données de chaque mois dans la fenêtre des légendes, je peux l'ajouter en sélectionnant Étiquette>Nom. Cela affichera le nom à côté de chaque courbe tracée. Je peux également cliquer avec le bouton droit sur la zone de tracé, choisir Personnaliser et accéder au paramètre de nom pour l'ajustement de la courbe, mais celui-ci n'est pas mis à jour sur le tracé - et lorsque je reviens aux paramètres, il a été désélectionné. Cela semble être un bug, mais peut-être que je l'utilise simplement de la mauvaise manière. Quoi qu'il en soit, j'essaie de trouver un moyen d'ajouter le nom de l'étiquette comme ceci via JSL.
J'ai essayé de capturer ces modifications à l'aide d'un flux de travail, mais il ne capture pas les modifications que j'ai apportées aux paramètres des légendes.
J'ai fait plusieurs recherches mais je n'ai trouvé aucune discussion sur cet ajout spécifique à un tracé en utilisant JSL, ni de documentation à ce sujet dans l'index des scripts. Il existe quelque chose appelé serveur de légendes mais je n'ai pas trouvé de discussion pertinente. Peut-être que je peux utiliser SendToReport(Dispatch()) ? Y a-t-il d'autres variantes que je devrais examiner ? J'apprécierais également toute suggestion sur l'endroit où je pourrais en apprendre davantage sur JSL pour produire et ajuster des tracés via Graph Builder.
Automatisation et scriptsRe : Comment ajouter un nom d'étiquette à une légende dans un tracé Graph Builder via JSL ?Je pense que vous devez le faire via le serveur de légende (ou lors de la création de l'expression du générateur de graphiques)
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Transform Column("Row", Formula(Row())),
Variables(X(:Row), Y(:height)),
Elements(Line Of Fit(X, Y, Legend(5), Confidence of Fit(0))),
SendToReport(
Dispatch({}, "400", ScaleBox,
{Legend Model(
5,
Properties(
0,
{Line Label Properties({Name Label(1)})},
Item ID("height", 1)
)
)}
)
)
);
gb << Add Variable({:weight, Role("Y"), Position(1)});
server = gb << Get Legend Server;
items = server << Get Legend Items;
For(i = 1, i <= N Items(items[1]), i++,
items[1][i] << Set Properties(
{Line Label Properties({Name Label(1)})}
)
);
Re : Comment ajouter un nom d'étiquette à une légende dans un tracé Graph Builder via JSL ?Cette solution a fonctionné, merci !
Il est intéressant de noter que lorsque j'enregistre le tracé avec les étiquettes ajoutées en tant que fichier HTML interactif, les étiquettes ne sont pas dans le tracé lorsque je l'ouvre. Cependant, elles sont incluses lorsque je l'enregistre en tant que fichier HTML normal et que je l'ouvre. J'ai pensé que je devais le mentionner au cas où quelqu'un d'autre suivrait cette approche et au cas où vous voudriez l'enregistrer comme un bug, également parce que votre solution est documentée ici, elle sera donc plus facile à reproduire.
Re : Comment ajouter un nom d'étiquette à une légende dans un tracé Graph Builder via JSL ?Quelle version de JMP possédez-vous ? D'après un test très rapide, il semble que cela fonctionne sous JMP18.1

Re : Comment ajouter un nom d'étiquette à une légende dans un tracé Graph Builder via JSL ?Ah, c'est bon à savoir, j'utilise la version 17.0.0. Et quand je vérifie le journal des messages, il indique que « Les libellés de ligne ne sont pas pris en charge et sont omis du rapport. » donc ce n'est pas un bug, j'aurais dû vérifier là-bas en premier apparemment.
Merci pour la réponse !
L'enregistrer en tant qu'image fonctionne également, les étiquettes de ligne sont incluses, c'est ce que fait l'enregistrement HTML normal.
Re : Comment ajouter un nom d'étiquette à une légende dans un tracé Graph Builder via JSL ?C'est correct. Les étiquettes de ligne ont été ajoutées à JMP dans JMP 17, mais n'étaient pas prises en charge dans HTML interactif avant JMP 18.
Merci,
~John
Re : Comment ajouter un nom d'étiquette à une légende dans un tracé Graph Builder via JSL ?Salut @Dape ,
Merci de ne pas l'appeler un bug et de rappeler aux lecteurs de la communauté d'utilisateurs JMP que lorsque quelque chose n'apparaît pas dans la version HTML interactive ou si la version HTML interactive contient des éléments non interactifs, c'est une bonne idée de consulter le journal pour voir s'il s'agit d'une limitation connue du HTML interactif.
Lorsqu'une nouvelle fonctionnalité est ajoutée à JMP, nous ne pouvons souvent pas la prendre en charge dans Interactive HTML au cours du même cycle de publication. Au lieu de cela, nous nous concentrons sur les fonctionnalités ajoutées dans les versions précédentes dont nous pensons que les utilisateurs ont le plus besoin.
Nous écrivons le message « non pris en charge » dans le journal lorsque nous pensons qu'il serait dommage de perdre l'interactivité en raison d'une fonctionnalité particulière que nous ne prenons pas en charge et nous utilisons le message « non interactif » lorsque nous pensons qu'une fonctionnalité doit être dans l'affichage HTML interactif au prix de perdre l'interactivité.
Dans les deux cas, nous invitons les utilisateurs à nous faire savoir via le support technique JMP ou la liste de souhaits JMP que la prise en charge d'une fonctionnalité particulière dans HTML interactif est souhaitée, car nous priorisons nos efforts en fonction des commentaires des utilisateurs.
Vous avez également souligné que l'exportation HTML standard utilise des images et affiche les libellés des lignes. Cela peut être une bonne alternative dans les cas où notre décision d'« omettre une fonctionnalité plutôt que de perdre l'interactivité » va à l'encontre de vos besoins.
Merci,
~John