Ändern Sie dynamisch die an GraphBuilder gesendeten Dispatch () - OptionenIch 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 skaliert ("Protokoll"), formatiert ("Engineering", 12):
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 gleich 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!
GrafikSkriptingBetreff: Dynamische Änderung der an GraphBuilder gesendeten Dispatch () - OptionenWie 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 Wege. Senden Sie die Format-Nachricht 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 );
Betreff: Dynamische Änderung der an GraphBuilder gesendeten Dispatch () - OptionenHinzufügen zu @markbailey Alle Nachrichten und Funktionen, die in der Ausgabe von JMP-Plattformen an die verschiedenen Anzeigeobjekte übergeben werden können, werden anhand von Beispielen im Skriptindex beschrieben..Die Ausgabe der verschiedenen JMP-Plattformen wird in Strukturen angezeigt, die mit Objekten gefüllt sind, die als Anzeigebäume bezeichnet werden. Daher empfehle ich Ihnen auch, den Abschnitt im Skripthandbuch für Anzeigebäume zu lesen.Es wird eine ganz neue Welt der wunderbaren Dinge eröffnen, die man mit der Ausgabe von JMP-Plattformen machen kann.
Betreff: Dynamische Änderung der an GraphBuilder gesendeten Dispatch () - OptionenZwei Begriffe
- Plattformobjekt: Die Logik hinter dem Graph Builder. Es ist nicht sichtbar.
- Berichtsfeld-Anzeigefeldbaum: Die Ausgabe vom Graph Builder. Ein sichtbares Diagramm, Schieberegler, Schaltflächen.
Mark ist richtig; Die Versandsyntax 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, die 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 << Versand Nachricht wird gesendet an. Senden Sie nicht die << Versand Nachricht an die Berichtsoberfläche. SendToReport (...) weist das Plattformobjekt an, Nachrichten in den Berichtsbaum zu versenden.
Mark schlägt vor, zu verwenden
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );
In all den oben genannten Fällen gb ist das Graph Builder-Plattformobjekt. In Marks Beispiel gb rep ist der Berichtsbaum des Anzeigefelds, der zum Graph Builder-Plattformobjekt gehört. Senden der << Bericht Nachricht an die gb Das Plattformobjekt ruft den Stamm des Anzeigefeldbaums ab (die Berichtsoberfläche, den sichtbaren Teil). Durch das Abonnieren des Stamms 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 der Baumstruktur anzeigen.
Baumstruktur anzeigen: Klicken Sie mit der rechten Maustaste auf das Öffnungs- / Schließdreieck.
Das Berichts- und das Baumstrukturfenster sind verknüpft. Ich habe auf die Höhenachse geklickt. Die Höhenachse und ihre Informationen in der Baumstruktur sind beide hervorgehoben. AxisBox (2) ist das zweite Achsenfeld im Bericht.
Betreff: Dynamische Änderung der an GraphBuilder gesendeten Dispatch () - OptionenDanke Mark, das war sehr hilfreich. Ich habe die Diagramme erstellt, die ich im Diagramm-Generator benötige, dann das Skript kopiert, das JMP dafür generiert, und es dann mit meinen eigenen Variablen bearbeitet und es einfach nicht zum Laufen gebracht. Ihre Lösung hat hervorragend funktioniert und mir geholfen, den Prozess für all die verschiedenen Änderungen, die ich implementieren möchte, besser zu verstehen.