Boucle de tracé de variabilité pour toutes les colonnes sélectionnées avec paramètre spécifié par l'utilisateurBonjour gars,
Je suis relativement nouveau dans JMP Scripting. J'ai besoin d'un petit soutien. Je suis en train de concevoir une application qui fait ce qui suit
Étape 1 : lorsque l’utilisateur clique sur un bouton. La fenêtre du graphique de variabilité s'ouvre dans laquelle nous spécifions toutes les colonnes pour le traçage, le regroupement de l'axe X et tous les paramètres de la table de données active actuelle.
obj = dt << Graphique de variabilité ();
Étape 2 : Je souhaite obtenir les éléments spécifiés par l'utilisateur dans des variables séparées telles que
col_list = liste de toutes les colonnes sélectionnées dans obj
x_grouping = toutes les x variables spécifiées
.. pour tous les arguments de Variability Chart()
Étape 3 : après avoir extrait toutes les informations. Maintenant, je vais exécuter une boucle pour chaque variable de colonne mais
pour i==1 (première colonne), je tracerai le graphique dans le rapport... l'utilisateur apportera quelques modifications (par exemple, ajouter une légende, spécifier la couleur d'arrière-plan, etc.)
maintenant, je vais appliquer ce modèle (tous les paramètres de ce tracé) à toutes les colonnes et créer un rapport dans une nouvelle fenêtre pour chaque colonne.
Je suis confronté à un problème en suivant : étape 2 et étape 3 comment extraire les arguments de Variability Chart() et effectuer l'action
PS : je prévois également de l'implémenter en parallèle pour d'autres types de graphiques \
Veuillez guider
Automatisation et scriptsRe : Boucle de tracé de variabilité pour toutes les colonnes sélectionnées avec paramètre spécifié par l'utilisateurL'option la plus simple serait de créer vous-même l'interface utilisateur du lanceur de graphiques de variabilité. Si vous ne souhaitez pas faire cela, vous pouvez utiliser << Get Script pour obtenir le script qui a été lancé et analyser les colonnes à partir de celui-ci.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Distribution();
dist = Current Report()[OutlineBox(1)] << Get Scriptable Object;
dist << get script;Re : Boucle de tracé de variabilité pour toutes les colonnes sélectionnées avec paramètre spécifié par l'utilisateurÉtape 1
obj = dt << Variability Chart();
ouvrira la boîte de dialogue Graphique de variabilité et lorsque l'utilisateur cliquera sur OK, tous les graphiques seront exécutés à ce moment-là.
Cependant, une fois le graphique de variabilité exécuté, vous pouvez interroger le script renvoyé par la plateforme de graphique de variabilité et obtenir les X et les Y.
obj = Variability Chart( Y( :NPN1, :PNP1 ), Model( "Main Effect" ), X( :SITE ) );
theScript = char(obj << get script);
theYsList = words(word(1,substr(theScript,contains(theScript,"Y(")+2),")"),",");
theXsList = words(word(1,substr(theScript,contains(theScript,"X(")+2),")"),",");
Pour l'étape 2, vous pouvez interroger directement le tracé affiché et obtenir les différents paramètres. Jetez un œil à l'index de script pour savoir comment obtenir la taille d'image, le min et le max et l'incrément pour les différents axes, etc., que vous devrez appliquer aux applications supplémentaires du graphique de variabilité.
Je pense que l'approche que vous suggérez posera plus de problèmes que d'avantages. Je suggère qu'au lieu d'utiliser la boîte de dialogue Graphique de variabilité, vous créez plutôt votre propre boîte de dialogue, ressemblant à la boîte de dialogue Graphique de variabilité, qui vous permettra ensuite d'obtenir toutes les informations dont vous avez besoin à l'avance, puis les étapes 2 et 3 le feront. deviennent beaucoup plus faciles à mettre en œuvre.
Consultez le Guide de script pour plus d'informations sur la façon de créer votre propre nouvelle boîte de dialogue window.dialog.
Re : Boucle de tracé de variabilité pour toutes les colonnes sélectionnées avec paramètre spécifié par l'utilisateur@txnelson Merci beaucoup pour votre perspicacité. En fait, mon objectif principal est d'avoir une fenêtre de rapport séparée pour chaque colonne. Par exemple, si je sélectionne 5 colonnes pour Y et que dans le rapport, nous obtenons un tracé pour les 5 paramètres. si j'ajoute une légende, change la couleur, etc. dans le 1er graphique dans la zone Plan, je souhaite écrire un script pour séparer chaque tracé dans une fenêtre séparée tout en utilisant les modifications que j'ai apportées au 1er tracé. Existe-t-il un moyen d'y parvenir. S'il vous plaît suggérer
Re : Boucle de tracé de variabilité pour toutes les colonnes sélectionnées avec paramètre spécifié par l'utilisateurVoici un exemple d'une façon de gérer ce que je pense que vous voulez faire. Le script est très incomplet et nécessite l'ajout de nombreuses exceptions, mais il devrait vous donner un point de départ.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
nw = New Window( "Col List Box Example",
modal,
H List Box(
Col List Box( all, width( 250 ) ),
V List Box(
Lineup Box( N Col( 2 ),
ybb = Button Box( "Y Col" ),
Y = Col List Box( Show( "run" ) ),
xbb = Button Box( "X Col" ),
x = Col List Box(),
Button Box( "Cancel",
nw << close window;
Throw();
),
Button Box( "OK",
ycols = y << get items;
xcols = x << get items;
)
)
)
)
);
// ycols and xcols now have been populated and you can then bring up one graph and
// let the user make the changes
nw = New Window( "Graphical Settings",
modal,
vc = dt << Variability Chart( Y( ycols[1] ), Model( "Main Effect" ), X( xcols[1] ) );
vc << on close(
// In the closing of the Variability Chart capture the script
theScript = Char( vc << get script );
);
);
// Run all of the graphs
For Each( {theCol, index},ycols, Eval( Parse( Substitute( theScript, ycols[1], theCol ) ) ) );