Variabilitätsplotschleife für alle ausgewählten Spalten mit benutzerdefinierter EinstellungHallo Leute,
Ich bin ziemlich neu im JMP-Scripting. Ich brauche ein wenig Unterstützung. Ich entwerfe jetzt eine Anwendung, die Folgendes tut
Schritt 1: Wenn der Benutzer auf eine Schaltfläche klickt, öffnet sich das Fenster mit dem Variabilitätsdiagramm, in dem wir alle Spalten zum Plotten, die Gruppierung der X-Achse und alle Einstellungen aus der aktuell aktiven Datentabelle angeben.
obj = dt << Variabilitätsdiagramm();
Schritt 2: Ich möchte die benutzerdefinierten Elemente in separaten Variablen erhalten, wie
col_list = Liste aller in obj ausgewählten Spalten
x_grouping = alle angegebenen x-Variablen
.. für alle Argumente für Variability Chart()
Schritt 3: Nachdem alle Informationen extrahiert wurden, führe ich nun eine Schleife für jede Spaltenvariable aus, aber
für i==1 (erste Spalte) werde ich das Diagramm im Bericht darstellen ... der Benutzer wird einige Änderungen vornehmen (z. B. Legende hinzufügen, Hintergrundfarbe angeben usw.)
Jetzt werde ich diese Vorlage (alle Einstellungen in diesem Diagramm) auf alle Spalten anwenden und für jede Spalte einen Bericht in einem neuen Fenster erstellen.
Ich habe ein Problem bei Schritt 2 und Schritt 3, wie ich die Argumente für Variability Chart() extrahiere und die Aktion ausführe
PS: ich plane auch, dies parallel für andere Diagrammtypen zu implementieren \
Bitte führen Sie
Automatisierung und SkriptingBetreff: Variabilitätsplot-Schleife für alle ausgewählten Spalten mit benutzerdefinierter EinstellungHier ist ein Beispiel für eine Möglichkeit, das zu handhaben, was Sie meiner Meinung nach tun möchten. Das Skript ist sehr unvollständig und muss um viele Ausnahmebehandlungen erweitert werden, aber es sollte Ihnen einen Ausgangspunkt bieten.
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 ) ) ) );Betreff: Variabilitätsplot-Schleife für alle ausgewählten Spalten mit benutzerdefinierter Einstellung@txnelson Vielen Dank für Ihre Einsicht. Eigentlich ist mein Hauptziel, für jede Spalte ein separates Berichtsfenster zu haben. Wenn ich beispielsweise 5 Spalten für Y auswähle, erhalten wir im Bericht ein Diagramm für alle 5 Parameter. Wenn ich im ersten Diagramm im Gliederungsfeld eine Legende hinzufüge, die Farbe ändere usw., möchte ich ein Skript schreiben, um jedes Diagramm in einem separaten Fenster zu trennen und dabei auch die Änderungen zu verwenden, die ich am ersten Diagramm vorgenommen habe. Gibt es eine Möglichkeit, dies zu erreichen? Bitte schlagen Sie vor
Betreff: Variabilitätsplot-Schleife für alle ausgewählten Spalten mit benutzerdefinierter EinstellungSchritt 1
obj = dt << Variability Chart();
öffnet das Dialogfeld „Variabilitätsdiagramm“. Wenn der Benutzer auf „OK“ klickt, werden alle Diagramme gleichzeitig ausgeführt.
Sobald das Variability Chart jedoch ausgeführt wurde, können Sie das von der Variability Chart Platform zurückgegebene Skript abfragen und die X- und Y-Werte abrufen.
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),")"),",");
Für Schritt 2 können Sie das angezeigte Diagramm direkt abfragen und die verschiedenen Einstellungen abrufen. Sehen Sie im Scripting-Index nach, wie Sie die Framegröße, das Minimum und Maximum sowie die Inkremente für die verschiedenen Achsen usw. abrufen, die Sie für die zusätzlichen Anwendungen des Variabilitätsdiagramms anwenden müssen.
Ich denke, dass Ihr vorgeschlagener Ansatz mehr Ärger als Nutzen bringen wird. Ich schlage vor, dass Sie statt des Dialogfelds Variabilitätsdiagramm lieber ein eigenes Dialogfeld erstellen, das dem Dialogfeld Variabilitätsdiagramm ähnelt. Dadurch erhalten Sie alle benötigten Informationen im Voraus, und die Schritte 2 und 3 lassen sich dann viel einfacher implementieren.
Informationen zum Erstellen eines eigenen neuen Fensters bzw. Dialogfelds finden Sie im Scripting Guide.
Betreff: Variabilitätsplot-Schleife für alle ausgewählten Spalten mit benutzerdefinierter EinstellungDie einfachste Möglichkeit wäre, die Benutzeroberfläche für den Variabilitätsdiagrammstarter selbst zu erstellen. Wenn Sie das nicht möchten, können Sie << Get Script verwenden, um das gestartete Skript abzurufen und die Spalten daraus zu analysieren.
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;