Ändern Sie die an GraphBuilder gesendeten Dispatch()-Optionen dynamischIch muss einige der an den Graph Builder gesendeten Optionen abhängig von den Optionen im Skript ändern.Ich kann nicht herausfinden, wie ich es zum Laufen bringen kann.
Mit diesem Skript wird das Diagramm Scale("Log"), Format("Engineering", 12) erstellt:
Graph Builder(
Variables(
X( :Split ),
X( :Wafer, Position( 1 ) ),
Y( As Column( analysisTests[i] ) ),
Color( :Split )
),
Elements(
Points( X( 1 ), X( 2 ), Y, Legend( 21 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 22 ) )
),
SendToReport(
Dispatch(
{},
analysisTests[i],
ScaleBox,
{Scale("Log"), Format("Engineering", 12)}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( title )}
)
)
)
Aber wenn ich versuche, diese Informationen so zu senden, funktioniert es nicht, obwohl es für mich genauso aussieht:
ScaleboxVariables = {};<BR />if(log != 0,
ScaleboxVariables = Insert(ScaleboxVariables, Expr(Scale("Log")) );
ScaleboxVariables = Insert(ScaleboxVariables, Expr(Format( "Engineering", 12 )) );
);
Dispatch(
{},
analysisTests[i],
ScaleBox,
ScaleboxVariables
),
Jede Hilfe dabei wäre dankbar!
MassenanpassungBetreff: An GraphBuilder gesendete Dispatch()-Optionen dynamisch ändernDanke Mark, das war sehr hilfreich. Ich habe die Diagramme, die ich benötige, im Graph Builder erstellt, dann das von JMP dafür generierte Skript kopiert und es dann mit meinen eigenen Variablen bearbeitet, aber es funktioniert einfach nicht. Ihre Lösung hat großartig funktioniert und mir geholfen, den Prozess für all die verschiedenen Änderungen, die ich implementieren möchte, besser zu verstehen.Betreff: An GraphBuilder gesendete Dispatch()-Optionen dynamisch ändernZwei Begriffe
- Plattformobjekt: die Logik hinter dem Graph Builder. Es ist nicht sichtbar.
- Berichtsoberflächen-Anzeigefeldbaum: die Ausgabe von Graph Builder. Ein sichtbares Diagramm, Schieberegler und Schaltflächen.
Mark hat recht; Die Dispatch-Syntax wurde für Maschinen und nicht für Menschen erstellt. Die Dispatch-Nachricht enthält Informationen, die das Plattformobjekt verwendet, um ein Anzeigefeld im Bericht zu finden.Wenn Sie es verwenden müssen, ist das SendToReport Sendungen müssen wie folgt versendet werden:
dt = Open( "$sample_data/big class.jmp" );
gb = dt << Graph Builder(
Size( 512, 442 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
// SendToReport(
// Dispatch( {}, "weight", ScaleBox, {Scale( "Log" ), Format( "Best", 6 ), Min( 60 ), Max( 200 ), Inc( 1 ), Minor Ticks( 1 )} ),
// Dispatch( {}, "height", ScaleBox, {Format( "Engineering", 12 )} )
// )
);
newFormat = {"Percent", "Engineering", "Best"};
newScale = {"Linear", "Log", "Linear"};
newInc = {10, 1, 20};
For( i = 1, i <= N Items( newFormat ), i += 1,
Wait( 1 ); // wait only needed for the demo!
gb << Dispatch( {}, "weight", ScaleBox, {Scale( newScale[i] ), Format( "Best", 6 ),
Min( 60 ), Max( 200 ), Inc( newInc[i] ), Minor Ticks( 0 )} );
gb << Dispatch( {}, "height", ScaleBox, {Format( newFormat[i], 12 )} );
);GB ist das Plattformobjekt, das die < Die Nachricht wird an gesendet. Senden Sie das nicht < Nachricht an die Berichtsoberfläche. SendToReport(...) weist das Plattformobjekt an, Nachrichten an den Berichtsbaum zu senden.
Mark schlägt die Verwendung vor
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );
In all dem oben genannten GB ist das Objekt der Graph Builder-Plattform. In Marks Beispiel: GB-Vertreter ist der Anzeigefeld-Berichtsbaum, der zum Diagramm-Builder-Plattformobjekt gehört. Senden der < Nachricht an die GB Das Plattformobjekt ruft die Wurzel des Anzeigefeldbaums ab (die Berichtsoberfläche, den sichtbaren Teil). Durch die Subskription der Wurzel wird ein spezifischerer Teilbaum des Anzeigefeldbaums zurückgegeben:
gb rep[AxisBox(2)]
Daran möchte Mark die Format-Nachricht senden. Eine Möglichkeit, diesen Index zu erhalten, ist die Verwendung von „Baumstruktur anzeigen“.
Show Tree Structure: right-click on the open-close triangle.Show Tree Structure: right-click on the open-close triangle.Baumstruktur anzeigen: Klicken Sie mit der rechten Maustaste auf das Öffnen-Schließen-Dreieck.
Die Fenster „Bericht“ und „Baumstruktur“ sind miteinander verknüpft. Ich habe auf die Höhenachse geklickt. Die Höhenachse und ihre Informationen in der Baumstruktur werden beide hervorgehoben. AxisBox(2) ist das zweite Achsenfeld im Bericht.
Betreff: An GraphBuilder gesendete Dispatch()-Optionen dynamisch ändernHinzufügen zu @Mark_Bailey Alle Meldungen und Funktionen, die in der Ausgabe von JMP-Plattformen an die verschiedenen Anzeigeobjekte übergeben werden können, werden im Skriptindex anhand von Beispielen beschrieben..Die Ausgabe der verschiedenen JMP-Plattformen wird in mit Objekten gefüllten Strukturen, sogenannten Anzeigebäumen, angezeigt. Daher empfehle ich Ihnen auch, den Abschnitt im Scripting Guide über Anzeigebäume zu lesen.Es wird eine völlig neue Welt der wunderbaren Dinge eröffnen, die man mit der Ausgabe von JMP Platforms machen kann.
Betreff: An GraphBuilder gesendete Dispatch()-Optionen dynamisch ändernWie ich als Antwort auf viele andere Diskussionen hier gesagt habe, wurde das Argument „An Bericht senden“ entwickelt, damit JMP Anpassungen speichern kann, wenn Sie ein Skript speichern. Es wurde nicht für uns entwickelt. Es gibt bessere Möglichkeiten. Senden Sie die Formatnachricht direkt an das Achsenfeld. So was:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );