JSL Ausgewählte Frame-Box abrufen<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich versuche, ein JMP-Skript zu erstellen, das basierend auf einer Benutzerauswahl ein Grafikskript zu einer bereits vorhandenen Plattform hinzufügt.Wie kann ich den Verweis auf eine vom Benutzer ausgewählte Rahmenbox abrufen?Gibt es einen besseren Weg, dies zu tun?Ich verwende JMP10.
Danke!
Namen standardmäßig hier ( 1 ) ;
// Beispiel.
bigClass = Offen ( „$SAMPLE_DATA/Big Class.jmp“ ) ;
biv = bigClass << Bivariat ( Y ( : Gewicht ) , X ( : Höhe ) ) ;
// Der Benutzer wählt ein oder mehrere Rahmenfelder aus.
rbiv = biv << Bericht ;
sel = rbiv [ FrameBox ( 1 )] ;
sel << Wählen ;
// Hilfe benötigt:
// JMP ruft den Verweis auf die ausgewählte Rahmenbox ab und fügt ein Grafikskript hinzu.
// JMP fügt dem ausgewählten Frame-Feld etwas hinzu ...
sel << Grafikskript hinzufügen ( Text ( Mittenbündig , { 55 , 160 } , "Hallo!") ; ) ;
sel << Abwählen ; // JMP gibt das Diagramm an den Benutzer zurück.
Betreff: JSL Ausgewählte Frame-Box abrufenDanke Ian.
Betreff: JSL Ausgewählte Frame-Box abrufenSie benötigen „rwin“ nicht, da „win“ bereits ein Bericht ist. Die letzten Zeilen sollten also lauten:
// Gewinn auswählen.
gewinnen << Baumstruktur anzeigen ; // Das funktioniert.
Selwin = gewinnen [ FrameBox ( 1 )] ;
Selwin << Wählen ;
Warten ( 2 ) ;
Selwin << Abwählen ;
Betreff: JSL Ausgewählte Frame-Box abrufenIch kann das aktuelle Fenster auswählen und eine Baumstruktur anzeigen, aber ich kann nicht auf die darin enthaltenen Rahmenfelder zugreifen.Ein Beispiel finden Sie unten.Irgendwelche Ideen?
// Beispiel.
Namen standardmäßig hier ( 1 ) ;
// Von hier aus den gesamten JSL-Block auf einmal ausführen ...
bigClass = Offen ( „$SAMPLE_DATA/Big Class.jmp“ ) ;
biv = bigClass << Bivariat ( Y ( : Gewicht ) , X ( : Höhe ) ) ;
Warten ( 2 ) ;
gewinnen = Aktuelles Fenster () ;
// ...bis hierhin.
// Text zu Biv hinzufügen.
biv << Baumstruktur anzeigen ;
rbiv = biv << Bericht ;
sel = rbiv [ FrameBox ( 1 )] ;
sel << Wählen ; // Der Benutzer wählt ein oder mehrere Rahmenfelder aus.
sel << Grafikskript hinzufügen ( "Zurück" , Text ( Mittenbündig , { 55 , 160 } , "Hallo!") ) ; // Skript hinzufügen.
sel << Abwählen ;
// Versuchen Sie, „Win“ auszuwählen.
gewinnen << Baumstruktur anzeigen ; // Das funktioniert.
rwin = gewinnen << Bericht ;
Selwin = rwin [ FrameBox ( 1 )] ;
Selwin << Wählen ; // Das funktioniert nicht.Warum nicht?
Selwin << Abwählen ;
Betreff: JSL Ausgewählte Frame-Box abrufenHallo PMroz,
Tut mir leid, dass ich es nicht klar ausgedrückt habe.
Ich versuche, ein JMP-Add-In zu erstellen, das es dem Benutzer ermöglicht, ein voreingestelltes Grafikskript zu einem Diagramm hinzuzufügen, das er/sie bereits erstellt hat.Das Grafikskript wird möglicherweise für viele verschiedene Diagrammtypen benötigt. Daher ist es nicht praktikabel, ein vollständiges Skript für das Diagramm zu erstellen und den Grafikteil einzuschließen. Die Anzahl der benötigten Optionen ist zu groß.Außerdem ist der Endbenutzer möglicherweise nicht mit JMP vertraut, um die Baumstruktur zu manipulieren.
Ich hoffe, dass der Benutzer mithilfe des Auswahltools einen Rahmenrahmen auswählt und dann das Add-In ausführt, um das Grafikskript hinzuzufügen.Das fehlende Teil meines Puzzles ist, JMP dazu zu bringen Erkennen Sie die Rahmenbox, die der Benutzer ausgewählt hat.Sobald ich die Frame-Box-Referenz habe, kann ich die Grafiken hinzufügen.
Kann JMP erkennen, welches Rahmenfeld (oder Diagramm) ausgewählt wurde?
Als letzten Ausweg kann ich den Endbenutzer bitten, das Grafikskript mithilfe der Eigenschaften „Diagramm anpassen“ manuell hinzuzufügen, aber ich hoffe auf eine elegantere Lösung.
Betreff: JSL Ausgewählte Frame-Box abrufenJa.Sie können diese Anweisung zum obigen Code hinzufügen:
jetzt << Baumstruktur anzeigen ;
Dadurch wird die Baumstrukturausgabe erzeugt.Hier können Sie nach der benötigten Rahmenbox suchen.

Betreff: JSL Ausgewählte Frame-Box abrufenHallo PMroz,
Vielen Dank für die Eingabe.Wenn möglich, möchte ich das Grafikskript bearbeiten, nachdem das Diagramm erstellt wurde.Ist es möglich, den Verweis auf eine ausgewählte Rahmenbox abzurufen?
Betreff: JSL Ausgewählte Frame-Box abrufenAnstatt den Berichtsweg zu gehen und die Baumstruktur zu durchforsten, können Sie auch einfach ein Fenster erstellen und alles hinzufügen, was Sie möchten.Zum Beispiel:
Namen standardmäßig hier ( 1 ) ;
// Beispiel.
bigClass = Offen ( „$SAMPLE_DATA/Big Class.jmp“ ) ;
jetzt = neues Fenster ( "Beispiel" ,
biv = bigClass << Bivariat ( Y ( : Gewicht ) , X ( : Höhe ) ) ,
tb = Textfeld ( "Hallo!" )
) ;
tb << Breite einstellen ( 500 ) ;
tb << Text ausrichten ( Center ) ;