Gibt es eine Möglichkeit, eine dynamische X-Referenzlinie über mehrere Diagramme hinweg anzuzeigen?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich verwende Graph Builder, um Folgendes anzuzeigen:
- die Anzahl der Fehler innerhalb einer Charge, wenn Teile durch ein bestimmtes Fertigungswerkzeug verarbeitet werden. TOP PLOT
- Die E10-Gerätezustandsänderungen, die das Werkzeug im gleichen Zeitraum durchlaufen hat, ZENTRUM PLOT
- ein Prozessmonitor anhand von Testsubstraten, die im gleichen Zeitraum ebenfalls verarbeitet wurden.UNTERES GRUNDSTÜCK

Das „updated_date“ ist der einzige gemeinsame Faktor aller Datensätze, die aus 3 verschiedenen Datenbanken gesammelt wurden
Ich hätte gerne die Möglichkeit, eine X-Referenzlinie anzuzeigen, während ich auf einen der Plots klicke und die Maus halte. Beim Loslassen der Maus sollte es verschwinden.
Die Referenzlinie sollte in allen Diagrammen gleichzeitig angezeigt werden.
Ein Beispiel dafür, was ich brauche, ist unten zu sehen:

Ich bin gespannt, welche kreativen Lösungen angeboten werden
- Philipp
Betreff: Gibt es eine Möglichkeit, eine dynamische X-Referenzlinie über mehrere Diagramme hinweg anzuzeigen?Vielen Dank, Ian und Craig, für Ihre Lösung(en).
Das funktioniert wunderbar
Wenn Sie einer weiteren Herausforderung gewachsen sind, .....Ich habe mich gefragt, ob aktivierte Beschriftungen angezeigt werden können, wenn die Referenzlinie an einem beliebigen Punkt in einem beliebigen Diagramm platziert wird.
Denken Sie daran, dass es in meiner Anwendung niemals vorkommen wird, dass Punkte genau an derselben Position auf der X-Achse liegen.
In meinem Fall handelt es sich bei den Etiketten um schriftliche Kommentare des Bedieners zu Tests, Herstellung oder Prozessüberwachung.
Das ist eher „nice to have“ als notwendig, aber es wäre sehr schön
- Philipp
Betreff: Gibt es eine Möglichkeit, eine dynamische X-Referenzlinie über mehrere Diagramme hinweg anzuzeigen?Bei Verwendung der ursprünglichen Methode müsste Ihr Code 2 UND 3 aktualisieren, wenn 1 manipuliert wird (und zyklische Permutationen davon).
Aber mit Craiges „<
Namen standardmäßig hier ( 1 );
dt = Offen ( „$SAMPLE_DATA/Big Class.jmp“ );
gb = dt << Graph Builder (
Größe( 528 , 448 ),
Systemsteuerung anzeigen( 0 ),
Variablen( X( Spalte transformieren( "Reihe" , Formel( Reihe () ) ) ), Y( :Größe ), Y( :Gewicht ), Y( :Alter ) ),
);
::exx = 1 ;
gbfb3 = Bericht ( gb )[FrameBox( 3 )];
gbfb3 << AddGraphicsScript (
Stiftfarbe ( "Rot" );
Stiftgröße ( 2 );
Mausefalle (
::exx = x;
GB << Inval ;
);
V-Linie ( ::exx );
);
gbfb1 = Bericht ( gb )[FrameBox( 1 )];
gbfb1 << AddGraphicsScript (
Stiftfarbe ( "Rot" );
Stiftgröße ( 2 );
Mausefalle (
::exx = x;
GB << Inval ;
);
V-Linie ( ::exx );
);
gbfb2 = Bericht ( gb )[FrameBox( 2 )];
gbfb2 << AddGraphicsScript (
Stiftfarbe ( "Rot" );
Stiftgröße ( 2 );
Mausefalle (
::exx = x;
GB << Inval ;
);
V-Linie ( ::exx );
);
Betreff: Gibt es eine Möglichkeit, eine dynamische X-Referenzlinie über mehrere Diagramme hinweg anzuzeigen?Jede Zelle im Trellis-Plot, die Graph Builder erstellt, ist eine separate „FrameBox()“, und die Herausforderung besteht darin, jede dieser Zellen zu aktualisieren, wenn nur eine geändert wird. Der obige Code basiert auf dem wiederholten Löschen und Wiederherstellen eines Grafikskripts für jede FrameBox(), und das ist gelinde gesagt umständlich.
Craige@jmp war so freundlich, einen besseren Weg aufzuzeigen: Senden Sie einfach dem Graph Builder-Objekt selbst eine „<< inval“-Nachricht, die alle zugehörigen FrameBoxen dazu zwingt, entsprechend neu zu zeichnen:
Namen standardmäßig hier ( 1 );
dt = Offen ( „$SAMPLE_DATA/Big Class.jmp“ );
gb = dt << Graph Builder (
Größe( 528 , 448 ),
Systemsteuerung anzeigen( 0 ),
Variablen( X( Spalte transformieren( "Reihe" , Formel( Reihe () ) ) ), Y( :Höhe), Y( :Gewicht ) )
);
::exx = 1 ;
gbfb1 = Bericht ( gb )[FrameBox( 1 )];
gbfb1 << AddGraphicsScript (
Stiftfarbe ( "Rot" );
Stiftgröße ( 2 );
Mausefalle (
::exx = x;
GB << Inval ; // Stellen Sie sicher, dass die anderen Diagramme aktualisiert werden
);
V-Linie ( ::exx );
);
gbfb2 = Bericht ( gb )[FrameBox( 2 )];
gbfb2 << AddGraphicsScript (
Stiftfarbe ( "Rot" );
Stiftgröße ( 2 );
Mausefalle (
::exx = x;
GB << Inval ; // Stellen Sie sicher, dass die anderen Diagramme aktualisiert werden
);
V-Linie ( ::exx );
);
Betreff: Gibt es eine Möglichkeit, eine dynamische X-Referenzlinie über mehrere Diagramme hinweg anzuzeigen?Hallo Ian,
Danke für die schnelle Antwort.
Das ist genau das, wonach ich suche, aber ich brauche es, um auf drei Grundstücken zu funktionieren
Mit dem Datensatz „$SAMPLE_DATA/Big Class.jmp“ habe ich einen Plot für „:age“ hinzugefügt, aber als ich versuchte, ihn so einzurichten, dass er über drei Plots hinweg funktioniert, konnte ich ihn leider nicht zum Laufen bringen. Ich kann jederzeit 2 von 3 zum Laufen bringen.
Wäre es möglich, dem Skript einige Kommentare hinzuzufügen, um die Logik zu erklären? Ich entschuldige mich für diese Unannehmlichkeiten.
In meinem Fall würde es ausreichen, wenn beim Klicken auf den mittleren Plot (:weight) die Referenzlinie nach oben und unten gezogen würde, die alle Plots abdeckt.
Folgendes habe ich getan:
Namen standardmäßig hier ( 1 ) ;
dt = Offen ( „$SAMPLE_DATA/Big Class.jmp“ ) ;
GB = dt << Graph Builder (
Größe ( 528 , 448 ) ,
Systemsteuerung anzeigen ( 0 ) ,
Variablen ( X ( Spalte transformieren ( "Reihe" , Formel ( Reihe () ) ) ) , Y ( : Höhe ) , Y ( : Gewicht ) , Y ( : Alter ) ) ,
) ;
:: exx = 1 ;
gbfb3 = Bericht ( GB )[ FrameBox ( 3 )] ;
gs3 = Ausdruck (
gbfb3 << AddGraphicsScript (
PenColor ( "Rot" ) ;
Stiftgröße ( 2 ) ;
Mausefalle ( :: exx = X ; gbfb1 << RemoveGraphicsScript ( 1 ) ; gs1 ) ;
VLine ( :: exx ) ;
) ;
) ;
gbfb1 = Bericht ( GB )[ FrameBox ( 1 )] ;
gs1 = Ausdruck (
gbfb1 << AddGraphicsScript (
PenColor ( "Rot" ) ;
Stiftgröße ( 2 ) ;
Mausefalle ( :: exx = X ; gbfb2 << RemoveGraphicsScript ( 1 ) ; gs2 ) ;
VLine ( :: exx ) ;
) ;
) ;
gbfb2 = Bericht ( GB )[ FrameBox ( 2 )] ;
gs2 = Ausdruck (
gbfb2 << AddGraphicsScript (
PenColor ( "Rot" ) ;
Stiftgröße ( 2 ) ;
Mausefalle ( :: exx = X ; gbfb3 << RemoveGraphicsScript ( 1 ) ; gs3 ) ;
VLine ( :: exx ) ;
) ;
) ;
gs1 ;
gs2 ;
gs3 ;
Der resultierende Plot sieht folgendermaßen aus:

Wenn ich in das Diagramm „Alter“ klicke, ist alles in Ordnung mit der Referenz. Linie mit der Maus über alle Plots verschieben.
Wenn ich jedoch in das Diagramm „Höhe“ klicke, passiert Folgendes:
Die Referenzlinie verläuft durch „Größe“ und „Gewicht“, nicht jedoch durch „Alter“.

Ebenso passiert Folgendes, wenn ich in das Diagramm „Gewicht“ klicke:
Die Referenzlinie verläuft durch „Gewicht“ und „Alter“, nicht jedoch durch „Größe“.

Könnten Sie bitte einen Blick darauf werfen?
Danke,
Philipp
Betreff: Gibt es eine Möglichkeit, eine dynamische X-Referenzlinie über mehrere Diagramme hinweg anzuzeigen?Sie könnten diesen Ansatz wahrscheinlich an Ihren speziellen Fall anpassen:
Namen standardmäßig hier ( 1 );
dt = Offen ( „$SAMPLE_DATA/Big Class.jmp“ );
gb = dt << Graph Builder (
Größe( 528 , 448 ),
Systemsteuerung anzeigen( 0 ),
Variablen( X( Spalte transformieren( "Reihe" , Formel( Reihe () ) ) ), Y( :Höhe), Y( :Gewicht) )
);
::exx = 1 ;
gbfb1 = Bericht (gb)[FrameBox( 1 )];
gs1 = Ausdruck (
gbfb1 << AddGraphicsScript (
PenColor ( "Rot" );
Stiftgröße ( 2 );
Mausefalle (::exx = x; gbfb2 << RemoveGraphicsScript ( 1 ); gs2);
VLine (::exx);
);
);
gbfb2 = Bericht (gb)[FrameBox( 2 )];
gs2 = Ausdruck (
gbfb2 << AddGraphicsScript (
PenColor ( "Rot" );
Stiftgröße ( 2 );
Mausefalle (::exx = x; gbfb1 << RemoveGraphicsScript ( 1 ); gs1);
VLine (::exx);
);
);
gs1;
gs2;
Betreff: Gibt es eine Möglichkeit, eine dynamische X-Referenzlinie über mehrere Diagramme hinweg anzuzeigen?Können JMP-Grafiken diesen Effekt haben?
@jpol
-> ja, mit einigen Anpassungen am JSL-Code in der anderen Diskussion : )