Variablen im Graph Builder automatisch anpassenHallo zusammen,
Ich habe eine letzte Tabelle erstellt, die eine Reihe von Spalten enthält. Die Daten, die ich darstellen möchte, beginnen jedes Mal von der 35. Spalte. Die Anzahl der Spalten, die ich darstellen möchte, hängt von jeder Iteration ab. Es kann von 1 Spalte bis zu vielen Spalten variieren.
Was ist der beste Weg, um mit sich ständig ändernden Variablen zu zeichnen?
Gibt es eine Möglichkeit, den Plottyp mithilfe einer externen Variablen wie "plot_type" zu ändern, die Linear oder Box sagt?
Gibt es eine Möglichkeit, das Protokoll oder die lineare Darstellung bei jeder Iteration mit einer ähnlichen Idee zu ändern?
Unten sehen Sie ein Beispiel mit 5 Spalten. Es funktioniert nicht mit einer anderen Anzahl von Spalten.
collist = tdt << get column names();
Show( collist );
m = {};
b = 1;
For( z = 35, z <= N Cols( tdt ), z++,
m[b] = Char( collist[z] );
b = b + 1;
);
Show( m );
gbfc = tdt << Graph Builder(
Size( 1515, 922 ),
Show Control Panel( 0 ),
Variables(
X( :Index ),
X( :Name, Position( 1 ) ),
X( :Wafers, Position( 1 ) ),
Y( Column( tdt, m[1] ) ),
Y( Column( tdt, m[2] ), Position( 1 ) ),
Y( Column( tdt, m[3] ), Position( 1 ) ),
Y( Column( tdt, m[4] ), Position( 1 ) ),
Y( Column( tdt, m[5] ), Position( 1 ) )
),
Elements( Points( X( 1 ), Y( 1 ), Y( 2 ), Y( 3 ), Y( 4 ), Y( 5 ), Legend( 18 ) ) ),
SendToReport( Dispatch( {}, "X title", TextEditBox, {Set Text( "Index / Lot / Wafers" )} ) )
);
Ich danke dir sehr.
Re: Anpassen von Variablen im Graph Builder automatischNach Jims Skript können Sie die Achsen so weiter steuern
outline = report(gbfc);
yaxis = outline[axisbox(2)];
yaxis<<MIN></MIN>
Ich benutze das graue Dreieck der Umrisse / des Dreiecks -> Rechtsklick -> Bearbeiten -> ShowTreeStructure, um herauszufinden, dass Axisbox 2 die Y-Achse ist:
Pick ShowTree Structure from the outline. Then click part of the report to find it.Wählen Sie ShowTree Structure aus der Gliederung aus. Klicken Sie dann auf einen Teil des Berichts, um ihn zu finden.
Dann benutze ich den Skriptindex, um AxisBox nachzuschlagen
Using the scripting index to find messages for an AxisBoxVerwenden des Skriptindex zum Suchen von Nachrichten für eine AxisBox
Re: Anpassen von Variablen im Graph Builder automatischVielen Dank, Txnelson. Das funktioniert perfekt. Ich werde versuchen herauszufinden, wie Sie die Grenzwerte auf der Y-Achse ändern, den Typ der Zeichnung ändern und "log" oder "linear" wählen. Wenn ich alle drei Funktionen in dasselbe Skript einbettet, ist es ziemlich robust.Re: Anpassen von Variablen im Graph Builder automatischHier ein Beispiel, wie Sie das dynamische Zeichnen durchführen können.
Names Default To Here( 1 );
tdt = Open( "$SAMPLE_DATA\semiconductor capability.jmp" );
m = {};
b = 1;
collist = tdt << get column names();
For( z = 35, z <= N Cols( tdt ), z++,
m[b] = Char( collist[z] );
b = b + 1;
);
TheExpr =
"gbfc = tdt << Graph Builder(
Size( 1515, 922 ),
Show Control Panel( 0 ),
Variables(
X( :Wafer ),
Y( Column( tdt, m[1] ) )";
For( i = 2, i <= 5, i++,
TheExpr = TheExpr || ",Y( Column( tdt, m[" || Char( i ) || "] ), Position( 1 ) )";
);
TheExpr = TheExpr ||
"),Elements( Points( X( 1 ), Y( 1 ), Y( 2 ), Y( 3 ), Y( 4 ), Y( 5 ), Legend( 18 ) ) ),
SendToReport( Dispatch( {}, \!"X title\!", TextEditBox, {Set Text( \!"Index / Lot / Wafers\!" )} ) )
);";
Eval( Parse( TheExpr ) );
In Bezug auf die Änderung des Plottyps oder der Achsenwerte können Sie mit JSL diese Elemente strukturieren.