Dieses Skript generiert Daten in einem Format, das meinen tatsächlichen Daten ähnelt, und zeichnet dann Diagramme in einem von mir gewünschten Layout auf.
Auf der Y-Achse werden mehrere Parameter dargestellt, wenn sie im lokalen Datenfilter ausgewählt werden. Das ist für mich nützlich, da ich Trends bei verwandten Parametern in meinen tatsächlichen Daten vergleichen kann.
Gibt es eine Möglichkeit, unabhängige Best-Fit-/automatische Y-Achsenskalen zu erhalten, ohne die Option „Seite“ des Diagrammerstellers zu verwenden oder zusätzliche Spalten in der Datentabelle zu erstellen, wenn Parameter im lokalen Datenfilter ausgewählt werden? Ich denke darüber nach, die Anzeigebäume und den Filteränderungshandler in den Griff zu bekommen, weiß aber, wie ich vorgehen soll. Etwas Hilfe wäre nützlich.
Names Default To Here(1);
clear log ();
dt = Open("$SAMPLE_DATA/Probe.jmp");
// Combine columns 1
Data Table( "Probe" ) << Combine Columns(columns( :Lot ID, :Wafer Number ), Column Name( "LotWafer" ), Delimiter( "." ));
// Combine columns 2
Data Table( "Probe" ) << Combine Columns(columns( :Die X, :Die Y ), Column Name( "[X,Y]" ), Delimiter( "," ));
// Delete columns
Data Table( "Probe" ) << Delete Columns( :Lot ID, :Wafer Number, :Die X, :Die Y );
grouped_cols = dt << get column group( "Responses" );
// Transpose data table // → Data Table( "Transpose of Probe" )
Data Table( "Probe" ) << Transpose( columns (grouped_cols), By( :LotWafer, :Process, :Start Time ),
Label( :Site ), Output Table( "Transpose of Probe" ));
close (dt, no save);
// Add column
dt = Current Data Table ();
Data Table( "Transpose of Probe" )
<< New Column("Mean", Numeric, "Continuous", Format("Best", 12 ), Formula(Mean( :"1"n, :"2"n, :"3"n, :"4"n, :"5"n )));
//Plot chart
dt = Graph Builder(
Size( 570, 458 ),
Show Control Panel( 0 ),
Y Group Edge( "Left" ),
Variables(X(:LotWafer, Order By( :Start Time, Ascending, Order Statistic( "Mean" ) )),
Y( :Mean ), Group Y(:Label, Order By( :Process, Ascending, Order Statistic( "Mean" ) )) ),
Elements( Points( X, Y, Legend( 23 ) ) ),
Local Data Filter(Conditional, Add Filter(columns( :Label ),Where( :Label == {"30D1_7X100_IL_12V", "30D1_7X100_IL_25V"} ),
Display( :Label, Find( Set Text( "" ) ) ))),
SendToReport(Dispatch({},"Mean",ScaleBox,{ Min( -0.0000336 ), Max( 0.00004544 ), Inc( 0.00001 ),Minor Ticks( 1 )})));Beachten Sie die Min/Max-Werte in der letzten Zeile, die aus dem Skript kopiert wurde, nachdem Sie den Graph Builder interaktiv verwendet haben, um die Daten ordnungsgemäß anzuzeigen.
Wenn Sie die Y-Gruppe verwenden, sind die Y-Achsen meiner Meinung nach miteinander verbunden. Eine Option könnte darin bestehen, eine neue Mittelwertspalte zu erstellen, die skaliert wurde, sodass alle Beschriftungen auf eine ähnliche Achse passen (entfernen Sie außerdem Min/Max/Inc aus dem Diagrammerstellungsskript, damit JMP seine eigenen Achsenberechnungen durchführen kann).
@jthi Danke. Wie in OP erwähnt, würde ich es vorziehen, keine neuen Spalten wie in meinen tatsächlichen Daten zu erstellen, da ich dies dann für Hunderte von Spalten tun müsste.
Die automatische Skalierung von JMP zeigte die Daten nicht zufriedenstellend an, daher habe ich Min/Max verwendet ( aus dem Skript kopiert, nachdem ich den Graph Builder interaktiv verwendet habe, um Daten ordnungsgemäß anzuzeigen, wie in meinem OP erwähnt ).