Wie kann ich mein Diagrammskript so anpassen, dass es meine zeilenweisen Kontrollgrenzen referenziert und diese automatisch in mein Diagramm einfügt? (Skript in Arbeit beigefügt)Hallo! Ich arbeite an einem Skript, das einen numerischen Wert (X) gegen Werkzeuge (Y) grafisch darstellt. Dabei sollen vorgegebene obere und untere Kontrollgrenzen aus der Datentabelle, die je nach Untergruppe variieren, berücksichtigt werden. Die Grenzen sollen beim Ausführen des Skripts automatisch in die Diagramme eingefügt werden. Außerdem sollen die Diagramme nach Ebenen getrennt sein. Hier ist mein bisheriger Code. Die Diagramme werden zwar generiert, aber die Kontrollgrenzen werden nicht angezeigt. Zudem sind die Punkte im ersten Diagramm deutlich kleiner als in den anderen. Ich habe noch nicht viel Erfahrung mit der Skripterstellung, daher bin ich für jede Hilfe dankbar! (JMP-Version: 17.2)
Names Default To Here( 1 );
dt = Current Data Table();
xCol = Column( dt, "Tool" );
yCol = Column( dt, "Value" );
uclCol = Column( dt, "UCL" );
lclCol = Column( dt, "LCL" );
LayerCol = Column( dt, "Layer" );
gb = Graph Builder(
Size( 633, 6849 ),
Show Control Panel( 0 ),
Title Fill Color( "White" ),
Level Fill Color( "White" ),
Page Level Fill Color( "White" ),
Variables( X( :Tool ), Y( :Value ), Page( :Layer ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
Elements( Line( X( xCol ), Y( uclCol ), Legend( 2 ) ) ),
Elements( Line( X( xCol ), Y( lclCol ), Legend( 3 ) ) ),
SendToReport(
Dispatch( {}, "Graph", ScaleBox, {Format( "Best", 12 ), Inc( 1 ), Minor Ticks( 1 )} ),
Dispatch( {}, "Graph Builder", FrameBox, {Marker Size( 2 ), Line Width( 2 )} ),
)
);
rep = gb << Report();
fr = rep[FrameBox( 1 )];
leg = rep[LegendBox( 1 )];
leg = rep[Legend Box( 1 )];
Try( leg << Set Item Name( 1, "Value" ) );
Try( leg << Set Item Color( 1, "Steel Blue" ) );
Try( fr << Set Marker Size( 1, 3 ) );
Try( fr << Set Marker Style( 1, "FilledCircle" ) );
Try( leg << Set Item Name( 2, "UCL" ) );
Try( leg << Set Item Name( 3, "LCL" ) );
Try( leg << Set Item Color( 2, "Red" ) );
Try( leg << Set Item Color( 3, "Red" ) );
Try( leg << Set Item Line Style( 2, "Solid" ) );
Try( leg << Set Item Line Style( 3, "Solid" ) );
Try( fr << Set Line Width( 2, 2 ) ); // UCL
Try( fr << Set Line Width( 3, 2 ) ); // LCL
Bearbeitet von txnelson JSL in JSL-Anzeigefeld
Automatisierung und SkripterstellungDatenexploration und -visualisierungBetreff: Wie kann ich mein Diagrammskript so anpassen, dass es meine zeilenweisen Kontrollgrenzen referenziert und diese automatisch in mein Diagramm einfügt? (Skript in Bearbeitung beigefügt)Wenn Sie mit Hilfe der interaktiven Funktionen des Graph Builders das gewünschte Diagramm erstellen, können Sie anschließend einfach angeben, dass das Skript gespeichert werden soll. Daraufhin wird ein Skript generiert, das das Diagramm repliziert.
Betreff: Wie kann ich mein Diagrammskript so anpassen, dass es meine zeilenweisen Kontrollgrenzen referenziert und diese automatisch in mein Diagramm einfügt? (Skript in Bearbeitung beigefügt)Hallo Jim, vielen Dank für deine Antwort! Ich konnte die Diagramme generieren, aber mein größtes Problem ist, dass ich immer noch nicht weiß, wie ich die UCL- und LCL-Referenzlinien in mein Skript einfüge. Ich möchte, dass die Diagramme nach Ebenen getrennt sind und jedes Diagramm die entsprechenden UCL- und LCL-Referenzlinien enthält. UCL und LCL sind Spalten in meiner Datentabelle, aber ich finde einfach nicht die richtige Methode, um darauf zu verweisen.
Betreff: Wie kann ich mein Diagrammskript so anpassen, dass es meine zeilenweisen Kontrollgrenzen referenziert und diese automatisch in mein Diagramm einfügt? (Skript in Bearbeitung beigefügt)Können Sie eine Beispieldatei anhängen?
Betreff: Wie kann ich mein Diagrammskript so anpassen, dass es meine zeilenweisen Kontrollgrenzen referenziert und diese automatisch in mein Diagramm einfügt? (Skript in Bearbeitung beigefügt)Hallo Jim,
Die Datentabelle ist beigefügt, zusammen mit dem Originalskript, das ich oben im Abschnitt „Tabellenskripte“ eingefügt habe.
Betreff: Wie kann ich mein Diagrammskript so anpassen, dass es meine zeilenweisen Kontrollgrenzen referenziert und diese automatisch in mein Diagramm einfügt? (Skript in Bearbeitung beigefügt)Sie müssen lediglich die obere und untere Kontrolllinie (UCL und LCL) zur Y-Achse hinzufügen und anschließend eine Linie einfügen. Dabei legen Sie fest, dass der Wert die einzige Variable für die Punkte und die untere und untere Kontrolllinie (UCL und LCL) die einzigen Variablen für die Linien sind.

Graph Builder(
Size( 633, 6849 ),
Show Control Panel( 0 ),
Title Fill Color( "White" ),
Level Fill Color( "White" ),
Page Level Fill Color( "White" ),
Variables(
X( :Tool ),
Y( :Value ),
Y( :UCL, Position( 1 ) ),
Y( :LCL, Position( 1 ) ),
Page( :Layer )
),
Elements(
Points( X, Y( 1 ), Legend( 1 ) ),
Line( X, Y( 2 ), Y( 3 ), Legend( 2 ) )
),
SendToReport(
Dispatch( {}, "Graph Builder", FrameBox,
{Marker Size( 2 ), Marker Drawing Mode( "Normal" )}
)
)
);
Betreff: Wie kann ich mein Diagrammskript so anpassen, dass es meine zeilenweisen Kontrollgrenzen referenziert und diese automatisch in mein Diagramm einfügt? (Skript in Bearbeitung beigefügt)Alles klar, es hat funktioniert! Danke!