Gibt es eine einfache Möglichkeit, ein durch ein Skript generiertes Diagramm mit dem Skriptnamen als Titel zu öffnen?Hallo, ich ertappe mich oft dabei, dass ich ein paar Skripte, die dieselbe Anwendung (z. B. Graph Builder) verwendet haben, in einer Datentabelle speichere. Wenn Sie diese Skripte ausführen, lautet der Fenstertitel des Diagramms automatisch „Datatable – Graph Builder“.
Wenn mehrere Skripte ausgeführt werden, führt dies dazu, dass Fenster mit den Titeln „Graph Builder 2“, „Graph Builder 3“ geöffnet sind und ich den Überblick darüber verliere, welches Skript welches Fenster generiert hat.
Ich habe für mein Skript einen Code wie im folgenden Beispiel verwendet. Wenn ich jedoch ein paar Änderungen vornehme, kann ich nicht einfach die Option „Skript in Datentabelle speichern“ ausführen, ohne diese Namenskonvention zu überschreiben.
w = Graph Builder(
// graph script
);
w << set window title( "script name" )
Beispiel: Das Skript öffnet ein Fenster mit dem allgemeinen Titel „Graph Builder“.

MassenanpassungBetreff: Gibt es eine einfache Möglichkeit, ein durch ein Skript generiertes Diagramm mit dem Skriptnamen als Titel zu öffnen?Ich hoffe, dass ich verstehe, was Sie fragen. Dieses Skript veranschaulicht eine Möglichkeit, die funktionieren könnte. Der erste Teil ist nur eine Möglichkeit, einige offene Elemente (Datentabelle und Graph Builder) zu haben, für die der Rest des Skripts arbeiten soll. Dies ist der Teil, den Sie möglicherweise mit Ihren eigenen offenen Graph Builder-Objekten verwenden. Sie können dieses Skript als Add-In speichern, sodass Sie es dann nur noch verwenden müssen, wenn Sie einen Menübefehl auswählen.
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
)
);Betreff: Gibt es eine einfache Möglichkeit, ein durch ein Skript generiertes Diagramm mit dem Skriptnamen als Titel zu öffnen?Aufgrund des Feedbacks in diesem Thread komme ich zu dem Schluss, dass es in JMP keine einfache Möglichkeit gibt, dies zu tun.
Betreff: Gibt es eine einfache Möglichkeit, ein durch ein Skript generiertes Diagramm mit dem Skriptnamen als Titel zu öffnen?Ich nehme an, dass das Verhalten, mit dem ich zu kämpfen habe, tatsächlich durch die Verwendung eines Dashboards umgangen werden kann. Ich werde versuchen, meine Arbeitsweise in JMP anzupassen.
Betreff: Gibt es eine einfache Möglichkeit, ein durch ein Skript generiertes Diagramm mit dem Skriptnamen als Titel zu öffnen?Was wäre, wenn Sie statt des Fenstertitels nur den Namen des Gliederungsfelds in diesem Fenster ändern würden?Sie können dies tun, indem Sie auf den Namen doppelklicken. Dieser bleibt dann im gespeicherten Skript erhalten.

Eine Seitenleiste: Damit entfernen Sie sich möglicherweise weiter vom Ändern von Diagrammen ohne Kopieren/Einfügen. Wenn Sie jedoch eine Reihe von Diagrammen haben, die Sie häufig für einen Datensatz betrachten, können Sie erwägen, ein Dashboard oder Fenster zu erstellen, das alle Diagramme (mit einigen davon) enthält Überschriften und Text, um jeden Kontext darzustellen.
Betreff: Gibt es eine einfache Möglichkeit, ein durch ein Skript generiertes Diagramm mit dem Skriptnamen als Titel zu öffnen?Suchst du danach?
w << get window title()
Betreff: Gibt es eine einfache Möglichkeit, ein durch ein Skript generiertes Diagramm mit dem Skriptnamen als Titel zu öffnen?Hallo Byron, das habe ich nicht gefragt. Ich suche nach dem Fensternamen, der geöffnet wird, um den Skriptnamen zu erhalten. Wie gesagt, ich kann es einmal tun, indem ich den folgenden Code um mein Skript herum hinzufüge. Mein Problem besteht jedoch darin, dass ich meine Diagramme nicht ändern kann (z. B. Achsen und Grafiken ändern), ohne das neue Diagrammskript in mein Datentabellenskript kopieren/einfügen zu müssen.
w = Graph Builder(
// graph script
);
w << set window title( "script name" )

Ich habe gerade versucht, ein zweites Skript zu erstellen, das das Graph Builder-Skript ausführt und den Fensternamen ändert. Das ist im Grunde das, was ich möchte, weil ich Änderungen am Diagramm vornehmen und es erneut „in der Datentabelle speichern“ kann, wodurch mein ursprüngliches Diagramm überschrieben wird. Ich brauche kein Kopieren/Einfügen mehr. Siehe „big class 2.jmp“ in den Anhängen. Ich würde einfach das Skript „run myGraph1“ ausführen. Es wäre natürlich schön, wenn ich das zweite Skript nicht benötigen würde, um mein Diagrammskript zu starten.
Betreff: Gibt es eine einfache Möglichkeit, ein durch ein Skript generiertes Diagramm mit dem Skriptnamen als Titel zu öffnen?Wenn Ihre Frage lautet: „Wie speichere ich ein Skript unter einem angegebenen Namen in der Datentabelle?“ Dann denke ich, dass ich eine Antwort für Sie habe.
dt=current data table();
obj=dt<<GRAPH builder=""> , < <<PROMPT>, < <<REPLACE> );
obj << Save Script to Data Table("New GB");</REPLACE></PROMPT></GRAPH>
...aber ich bin mir nicht sicher, ob Sie das gefragt haben?
Betreff: Gibt es eine einfache Möglichkeit, ein durch ein Skript generiertes Diagramm mit dem Skriptnamen als Titel zu öffnen?Wenn ich etwas Ähnliches für einen Einwegplot ausführen möchte, wie kann ich das ändern? Das Ersetzen von „Graph Builder“ durch „Oneway“ scheint nicht zu funktionieren.
Betreff: Gibt es eine einfache Möglichkeit, ein durch ein Skript generiertes Diagramm mit dem Skriptnamen als Titel zu öffnen?Mit der Hilfe eines Kollegen (Danke Andrew!) haben wir uns das ausgedacht.
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();
);
);
Kann angepasst werden, um das Skript für jede Art von Diagramm zu verwenden, indem die Elemente in Anführungszeichen gesetzt werden. Die Möglichkeit, ein ? als Platzhalter in einer Matrix ist unbezahlbar.