Re: Évitez les répétitions dans le script, Graph Builder en particulierPouvoir écrire vos propres fonctions peut vous être utile. Voir cela de @Craige_Hales dans le livre de cuisine JSL:
https://community.jmp.com/t5/JSL-Cookbook/Write-Your-Own-Functions/ta-p/49052
Re: Évitez les répétitions dans le script, Graph Builder en particulierC'est une approche qui pourrait aider:
Mettez le code commun dans des chaînes séparées. S'il y a beaucoup de guillemets doubles, utilisez les constructions \ [et] \ pour plus de lisibilité.
Assemblez le code du générateur de graphes (A || B || C etc.) et exécutez-le à l'aide de eval (parse ()).
Voici un exemple simple avec une chaîne commune pour deux graphiques.
dt = open("$sample_data\Airline Delays.jmp");
common_str =
"dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :Elapsed Time ), Y( :Distance ), Overlay( :Airline ) ),";
gb1_str = evalinsert(
"gb1 = ^common_str^
Elements( Area( X, Y, Legend( 21 ) ) )
)");
gb2_str = evalinsert(
"gb2 = ^common_str^
Elements( Points( X, Y, Legend( 11 ) ) )
)");
eval(parse(gb1_str));
eval(parse(gb2_str));
Re: Évitez les répétitions dans le script, Graph Builder en particulierJe vous remercie! C'est un très bon exemple et une solution!Re: Évitez les répétitions dans le script, Graph Builder en particulierJe vous remercie!
Évitez les répétitions dans le script, en particulier Graph BuilderSalut,
J'ai un script pour reproduire les graphes Graph Builder. Trois fichiers de script, chacun devant reproduire les sorties du générateur de graphiques pour 15 variables différentes. Fondamentalement, j'ai utilisé le Générateur de graphes pour tracer les données comme je le voulais, j'ai sauvegardé le script et les ai répété pour les 14 variables suivantes. Comme résultat, j'ai comme ça:
// le premier fichier de script dt = currentdatatable (); obj1 = dt << GraphBuilder (); obj2 = dt << GraphBuilder (); ... obj15 = dt << GraphBuilder (); // Préoccupation: répétition de grandes pièces dans le code de chaque objetJe souhaite conserver les paramètres de fonctions Graph Bulder pour tous les objets (15 au total), mais éviter les répétitions dans le code (quelques exemples ci-dessous). Est-il possible de définir de telles parties du code au début du script (ou dans un fichier séparé (car j'ai d'autres fichiers de script utilisant les mêmes parties du code) et de l'appeler lors de l'exécution du code) et de les utiliser comme les variables dans le code pour rendre le code à l'air plus simple, plus court? Cette méthode est efficace également si je souhaite apporter des modifications. L'autre question: des suggestions sur la façon dont je pourrais améliorer mes compétences en script?
Merci beaucoup.
Exemples:
Dispatch ({}, "400", LegendBox, {Set Title ("")), police ("Segoe UI", 11, "Plain"), position de la légende ({8, [1, 5, 9, 3, 6, 11], 9, [0, 4, 8], 10, [2, 7, 10]}), position ({1, 5, 9, 3, 6, 11, 0, 4, 8, 2, 7, dix} )} )ou
Dispatch ({}, "400", ScaleBox, {Modèle de légende (8, Nom de niveau (0, "Moyennes variables 3", ID élément ("3", 1)), Nom de niveau (1, "Moyennes variables 5", ID d’article ("5", 1)), Nom du niveau (2, "Variable 6 Moyennes", ID de l’article ("6", 1)), Nom du niveau (3, "Variable 3 Écart-type", ID d’article ("3 ", 2)), Nom du niveau (4," Écart type 5 variable ", ID de poste (" 5 ", 2)), Nom du niveau (5," Écart type 6 variable ", ID de poste (" 6 ", 2) ), Base (0, 0, 0, ID d'élément ("3", 1)), Base (1, 0, 1, ID d'élément ("5", 1)), Base (2, 0, 2, ID d'élément ("6", 1)), Base (3, 0, 0, ID d’article ("3", 2)), Base (4, 0, 0, ID d’article ("5", 2)), Base (5 , 0, 0, ID d’article ("6", 2)), Propriétés (0, {Couleur du trait (53), Largeur du trait (4), Marqueur ("FilledCircle"), Taille du marqueur (6), dégradé ({Echelle Valeurs ([0 1]), Largeur (9), N Étiquettes (6)})}, ID d’article ("3", 1)), Propriétés (1, {Couleur de trait (56), Largeur de trait (4), Marqueur ("FilledCircle"), Taille du marqueur (6), dégradé ({Valeurs d'échelle ([0 1])), Largeur (9), N Étiquettes (6)})}, ID d'élément (" 5 ", 1)), Propriétés (2, {Couleur de trait (38), Largeur de trait (4), marqueur (" FilledCircle ")), Taille du marqueur (6), dégradé ({Valeurs d'échelle ([0 1])), Largeur (9), N étiquettes (6)})}, ID d’article ("6", 1)), Propriétés (3, {Couleur de trait (53), Largeur de ligne (4)}, ID d’article ("3", 2 )), Propriétés (4, {Couleur de trait (56), Largeur de ligne (4)}, ID d’article ("5", 2)), Propriétés (5, {Couleur de trait (38), Largeur de trait (4)}, ID d’article ("6", 2)), Propriétés (-1, {Couleur de trait (13), Largeur de trait (4), Marqueur ("FilledCircle"), Taille du marqueur (6), dégradé ({Valeurs d’échelle ([0 1]), Largeur (9), N Étiquettes (6)}, ID article ("4", 1)), Propriétés (-1, {Couleur de trait (13), Largeur de ligne (4)}, ID ("4", 2)), Base (-1, 0, 1, ID d'élément ("5", 1)), Nom du niveau (-1, "Moyenne", ID d'élément ("Moyenne", 1)), Base (-1, 0, 0, ID d’article ("Écart type", 1)), Propriétés (-1, {Couleur de trait (3), Marqueur ("FilledCircle"), Taille du marqueur (6), dégradé ({Echelle Valeurs ([0 1]), largeur (9), étiquettes N (6)})}, ID d’article ("Moyenne", 1)), propriétés (-1, {Line Co lor (1), Largeur de ligne (4)}, ID d'élément ("Écart type", 1)), Base (-1, 0, 0, ID d'élément ("intervalle de confiance à 95%", 1)), Propriétés (- 1, {Couleur de trait (32), Largeur de trait (2), Gradient ({Valeurs d'échelle ([0 1]), Largeur (9), N Étiquettes (6)})}, ID d'élément ("Intervalle de confiance à 95%" , 1))), Modèle de légende (9, Nom de niveau (0, "Valeurs individuelles de la variable 3", ID élément ("3", 1)), Nom du niveau (1, "Valeurs individuelles de la variable 5", ID d'élément (" 5 ", 1)), Nom du niveau (2," Variable 6 Valeurs individuelles ", ID d’article (" 6 ", 1)), Base (0, 0, 0, ID d’article (" 3 ", 1)), Base (1, 0, 1, ID d'élément ("5", 1)), Base (2, 0, 2, ID d'élément ("6", 1)), Propriétés (0, {Couleur de trait (37), Largeur de trait (4)}, ID d'article ("3", 1)), Propriétés (1, {Couleur de trait (40), Largeur de ligne (4)}, ID d'article ("5", 1)), Propriétés (2, { Couleur de trait (38), Largeur de trait (4)}, ID d’article ("6", 1)), Nom du niveau (-1, "Variable 4 Valeurs individuelles", ID d’article ("4", 1)), Base ( -1, 0, 0, ID d'élément ("4", 1)), Propriétés (-1, {Couleur de trait (42), Largeur de trait (4)}, Élément I D ("4", 1)), Nom du niveau (-1, "Valeurs individuelles", ID d'élément ("Variable principale", 1)), Propriétés (-1, {Couleur de trait (5)}, ID d'élément ( "Variable principale", 1)), Propriétés (-1, {Couleur de trait (5), dégradé ({Valeurs d'échelle ([0 1])), Largeur (9), N Étiquettes (6)})}, ID élément ("Main-Variable", 1))), Modèle de légende (10, Nom de niveau (0, "Variable 3 Lisse", ID élément ("3", 1)), Nom de niveau (1, "Variable 5 Lisse", ID d’article ("5", 1)), Nom du niveau (2, "Variable 6 Lisse", ID d’article ("6", 1)), Propriétés (0, {Couleur de trait (53), Largeur de trait (4)} , ID d'élément ("3", 1)), Propriétés (1, {Couleur de trait (56), Largeur de ligne (4)}, ID d'élément ("5", 1)), Propriétés (2, {Couleur de trait (38 ), Largeur de ligne (4)}, ID d’article ("6", 1)), Nom du niveau (-1, "Variable 4 Smooth", ID d’article ("4", 1)), Propriétés (-1, {Ligne Couleur (13), Largeur de ligne (4)}, ID d'élément ("4", 1)), Propriétés (-1, {Largeur de ligne (4)}, ID d'élément ("Lisse", 1)))})