Question de script JSL: comment rassembler des graphiques dans une même sortie<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut à tous,
Je suis nouveau dans les scripts JSL.
J'ai peu de données de colonne à choisir par l'utilisateur pour l'analyse.
Le code que j'ai écrit générera plusieurs graphiques égaux aux colonnes choisies.
Puis-je savoir comment combiner tous les graphiques en une seule sortie?
Quelqu'un peut-il m'aider à me fournir le code / la syntaxe?
Code (j'ai écarté ces routines de passage de variables):
Pour (i = 1, i <= tot_entry, i ++,
MyDist = Distribution (
Distribution continue (
Column (eval (analyelist )), Pile (1), disposition horizontale (1), tracé de quantile normal (1), tige et feuille (1),
Analyse de capabilité (LSL (eval (lsl)), USL (eval (usl)), cible (eval (cible)))),
SendToReport (
Dispatch ({}, "Distributions", OutlineBox, {Définir le titre ("Distribution of" || title)}),
)
)
)
Re: Question de script JSL: Comment rassembler des graphiques dans une même sortie<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Comme mentionné par PMRoz, ces scripts ne fonctionneront pas dans JMP9. Vous trouverez ci-dessous une légère modification qui fonctionnera dans JMP9 et 10. Notez que le panneau n'est pas nécessaire. Je viens de l'ajouter à titre de démonstration.
L’approche que j’aime adopter est de construire la structure générale ou la présentation de ma fenêtre d’affichage ou de mon dialogue, puis de passer aux analyses, graphiques et tableaux.
En encapsulant une zone d'affichage (une HListBox) autour de la distribution, celle-ci est toujours active. Cependant, une fois que vous l'affectez dans une fenêtre, tout collage ou ajout suivant est un affichage cloné ou inactif (comme un rapport journalisé).
Donc, les 3 étapes, mes collègues et moi enseignons aux nouveaux utilisateurs de JSL sont:
1) Créez la mise en page, un modèle pour votre affichage général, en créant une poignée pour chaque espace réservé dans la fenêtre
2) Pour chaque analyse ou groupe d'analyse , créez votre affichage "caché" dans une displaybox (HListBox ou VListBox ou OutLineBox ou PanelBox. etc.), alors
3) Ajoutez cet affichage à l'espace réservé dans la fenêtre créée à l'étape 1.
Nous appelons ce bâtiment un affichage "de bas en haut". Cette approche facilite beaucoup la gestion des cas particuliers, tels que différentes limites de spécifications pour chaque variable LSL. et USL , etc. et déboguer les problèmes étape par étape.
// ================= Bonne écriture de script !.
nw = Nouvelle fenêtre ("Capability Charts", lub); Open ("$ SAMPLE_DATA / Big Class.jmp");
analyselist = {"hauteur", "poids"};
tot_entry = N Items (liste d'analyses);
lsl = 80;
usl = 90;
cible = 70;
titre = "MON TITRE";
nw = Nouvelle fenêtre ("Tableau des capacités",
pb = panneau de commande ("Capability",
lub = Lineup Box (N Col (1))
));
Pour (i = 1, i <= tot_entry, i ++,
hlb = HlistBox (Distribution (
Distribution continue (
Column (Eval (liste d'analyses) )),
Pile (1), disposition horizontale (1), tracé de quantile normal (1), tige et feuille (1),
Analyse de capabilité (LSL (Eval (lsl)), USL (Eval (usl)),
Cible (Eval (cible)))),
SendToReport (Dispatch ({}, "Distributions",
OutlineBox, {Set Title ("Distribution of" || analyselist )}))
));
lub << append (hlb)
)
Re : Question sur les scripts JSL : Comment regrouper des graphiques dans une même sortieBonjour, plutôt que de simplement créer un objet appelé MyDist, vous pourriez ajouter la distribution à une zone d'alignement initialement vide, puis afficher cette zone dans une fenêtre. L'exemple suivant illustre ce processus, même si les valeurs que j'ai utilisées ici n'auront évidemment aucun sens dans le contexte de votre analyse de capabilité. Veuillez noter que j'exécute cette méthode dans JMP 10, car je pense qu'elle ne fonctionnera pas dans JMP 9 :
Ouvrir( "$SAMPLE_DATA/Big Class.jmp" );
analyzelist = {"taille", "poids"};
tot_entry = N éléments( analyzelist );
lsl = 80;
usl = 90;
cible = 70;
titre = "MON TITRE";
lub = Lineup Box( N Col( 1 ) );
Pour( i = 1, i <= tot_entry, i++,
lub << append( Distribution(
Distribution continue(
Colonne( Eval( analyzelist ) ),
Pile (1), disposition horizontale (1), diagramme quantile normal (1), tige et feuille (1),
Analyse de capacité (LSL(Eval(lsl)), USL(Eval(usl)),
Cible( Eval( cible ) ) ) ),
SendToReport( Dispatch( {}, "Distributions",
OutlineBox, {Set Title( "Distribution de " || titre )} ))
)));
nw = Nouvelle fenêtre( "Graphiques de capacités", lub );
/*
Je suis désolé de ne pas pouvoir mieux formater ce script, mais je ne parviens pas à le coller directement dans cette fenêtre. Vous pouvez toutefois le reformater depuis le menu Édition une fois dans une fenêtre de script. Voici un autre exemple similaire : j'ai créé une grille de sorties à partir du Générateur de graphiques :
*/
dt = Open( "$SAMPLE_DATA/Car Physical Data.jmp" );
colnames = dt << obtenir les noms de colonnes(numérique);
afficher(noms de colonnes);
ou = aligner la boîte(ncol(3));
pour(i=1, i<=nItems(noms de colonnes), i++,
lub << append(Graph Builder(
Taille (300, 200), Afficher le panneau de configuration (0), Afficher la légende (0),
Variables( X( :Pays ), Y( eval(char(colonnames )) ) ),
Éléments (Box Plot (X, Y, Légende (0), Jitter (1), Valeurs aberrantes (1), Style de boîte ("Valeur aberrante" )))
))
);
nw = nouvelle fenêtre("Box Plots", lub);
Re : Question sur les scripts JSL : Comment regrouper des graphiques dans une même sortiePour coller un script en conservant la mise en forme et les couleurs, copiez-le d'abord de JMP vers MS-Word, puis de Word vers ce forum. Je remplace les tabulations par quatre espaces pour obtenir un retrait correct. Par exemple :
dt= Ouvrir( « $SAMPLE_DATA/Car Physical Data.jmp » );
noms de colonnes=dt<<obtenir les noms des colonnes ( numériques );
Montrer(noms de colonnes );
le= Boîte de programmation( N Col( 3 ) );
Pour( i = 1, i <= N articles(noms de colonnes ), i++,
le<<ajouter (
Générateur de graphiques (
Taille (300, 200 ),
Afficher le panneau de configuration (0 ),
Afficher la légende (0 ),
Variables ( X (:Pays ), Y( Évaluer( Carboniser(noms de colonnes [ i ] ) ) ) ),
Éléments (
Boîte à moustaches (
X,
Y,
Légende (0 ),
Gigue (1 ),
Valeurs aberrantes (1 ),
Style de boîte (« Valeur aberrante » )
)
)
)
)
);