Existe-t-il un moyen simple d'ouvrir un graphique généré par un script avec le nom du script comme titre ?Bonjour, je me retrouve souvent à enregistrer quelques scripts utilisant la même application (par exemple, Graph builder) dans une table de données. Lorsque vous exécutez ces scripts, le titre de la fenêtre du graphique sera automatiquement "Datatable - graph builder".
Lorsque plusieurs scripts sont exécutés, cela crée la situation d'avoir des fenêtres ouvertes avec les titres "Graph Builder 2", "Graph Builder 3" et je perds la trace de quel script a généré quelle fenêtre.
J'utilise un code autour de mon script comme dans l'exemple ci-dessous, mais lorsque j'apporte quelques modifications, je ne peux pas simplement exécuter l'option "Enregistrer le script dans une table de données" sans écraser cette convention de dénomination.
w = Graph Builder(
// graph script
);
w << set window title( "script name" )
Exemple : le script ouvre une fenêtre avec le titre générique "Graph builder".

Personnalisation de masseRe : Existe-t-il un moyen simple d'ouvrir un graphique généré par un script avec le nom du script comme titre ?J'espère que je comprends ce que vous demandez. Ce script illustre une manière qui pourrait fonctionner. La première partie est juste un moyen d'avoir des éléments ouverts (table de données et Graph Builder) pour lesquels le reste du script doit fonctionner. C'est la partie que vous pouvez utiliser avec vos propres objets Graph Builder ouverts. Vous pouvez enregistrer ce script en tant que complément. Il vous suffit alors de sélectionner une commande de menu lorsque vous souhaitez l'utiliser.
Names Default to Here( 1 );
// example of Graph Builder
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
);
// now the script to save table script with desired name
// ask user for name of script
dialog = New Window( "Name of Script", << Modal,
Panel Box( "Script Name",
Line Up Box( N Col( 2 ),
Text Box( "Name:" ),
teb = Text Edit Box( "Graph Builder Script" )
),
H List Box(
Button Box( "OK",
name = teb << Get Text;
),
Button Box( "Cancel" )
)
)
);
If( dialog["Button"] == -1, Throw( "User cancelled" ) );
// save script for current instance of Graph Builder
window = Get Window List();
wName = window << Get Window Title;
nWindows = N Items( window );
For( i = nWindows, i > 0, i--,
If( Contains( wName[i], "Graph Builder" ),
Break();
);
);
obj = window[i]["Graph Builder"] << Get Scriptable Object;
obj << Save Script to Data Table( name, << Prompt( 0 ), << Replace( 1 ) );
// update table script
script = dt << Get Property( name );
Eval(
Substitute(
Expr(
dt << Set Property( nnn,
w = sss;
w << Set Window Title( nnn )
)
),
Expr( sss ), Name Expr( script ),
Expr( nnn ), name
)
);Re : Existe-t-il un moyen simple d'ouvrir un graphique généré par un script avec le nom du script comme titre ?Sur la base des commentaires contenus dans ce fil de discussion, je conclus qu'il n'existe pas de moyen simple de procéder dans JMP.
Re : Existe-t-il un moyen simple d'ouvrir un graphique généré par un script avec le nom du script comme titre ?Je suppose que le comportement avec lequel je suis aux prises peut effectivement être contourné en utilisant un tableau de bord. Je vais essayer d'adapter ma façon de travailler dans JMP.
Re : Existe-t-il un moyen simple d'ouvrir un graphique généré par un script avec le nom du script comme titre ?Et si, au lieu de changer le titre de la fenêtre, vous modifiiez simplement le nom de la zone de contour dans cette fenêtre ?Vous pouvez le faire en double-cliquant sur le nom, et cela est conservé dans le script enregistré.

Une barre latérale : cela pourrait s'éloigner de la modification des graphiques sans copier/coller, mais si vous avez un tas de graphiques que vous consultez souvent pour un ensemble de données, vous pouvez envisager de créer un tableau de bord ou une fenêtre qui les contient tous, avec certains titres et texte pour donner à chaque contexte.
Re : Existe-t-il un moyen simple d'ouvrir un graphique généré par un script avec le nom du script comme titre ?Est-ce ce que vous recherchez?
w << get window title()
Re : Existe-t-il un moyen simple d'ouvrir un graphique généré par un script avec le nom du script comme titre ?Salut Byron, ce n'était pas ce que je demandais. Je recherche le nom de la fenêtre ouverte pour avoir le nom du script. Comme je l'ai dit, je peux le faire une fois en ajoutant le code ci-dessous autour de mon script. Mais mon problème est alors que je ne peux pas modifier mes graphiques (par exemple changer les axes et les visuels) sans avoir à copier/coller le nouveau script graphique dans mon script datatable.
w = Graph Builder(
// graph script
);
w << set window title( "script name" )

Je viens d'essayer une méthode de création d'un deuxième script qui exécute le script de création de graphiques et modifie le nom de la fenêtre. C'est essentiellement ce que je veux car je peux apporter des modifications au graphique et "enregistrer à nouveau dans une table de données", en écrasant mon graphique d'origine. Je n'ai plus besoin de copier/coller. Voir "big class 2.jmp" dans les pièces jointes, je voudrais simplement exécuter le script "run myGraph1". Ce serait bien sûr bien si je n'avais pas besoin du deuxième script pour lancer mon script graphique.
Re : Existe-t-il un moyen simple d'ouvrir un graphique généré par un script avec le nom du script comme titre ?Si votre question est : « Comment puis-je enregistrer un script dans la table de données avec un nom spécifié ? » Alors je pense que j'ai une réponse pour vous.
dt=current data table();
obj=dt<<GRAPH builder=""> , < <<PROMPT>, < <<REPLACE> );
obj << Save Script to Data Table("New GB");</REPLACE></PROMPT></GRAPH>
... mais je ne sais pas si c'était ce que vous demandiez ?
Re : Existe-t-il un moyen simple d'ouvrir un graphique généré par un script avec le nom du script comme titre ?Si je voulais exécuter quelque chose de similaire pour un tracé à sens unique, comment puis-je le modifier ? Remplacer "Graph Builder" par "Oneway" ne semble pas fonctionner.
Re : Existe-t-il un moyen simple d'ouvrir un graphique généré par un script avec le nom du script comme titre ?Avec l'aide d'un collègue (Merci Andrew !), nous avons trouvé ceci.
clear Globals();
Delete Symbols();
// save script for current instance of Fit Group
window = Get Window List();
wName = window << Get Window Title;
nWindows = N Items( window );
For( i = nWindows, i > 0, i--,
If( Contains( wName[i], "Fit Y by X" ),
obj = window[i]["Fit Group?"] << Get Scriptable Object;
Show(obj);
obj << Save Script for All Objects;
Break();
);
);
Peut être adapté pour récupérer le script pour tout type de graphique en remplaçant les éléments entre guillemets. La possibilité d'utiliser un ? car un caractère générique dans une matrice n’a pas de prix.