Aktualisieren der Element-Anweisung des Graph BuilderHallo, ich möchte den Stil des Box-and-Whisker-Diagramms des Graph Builders in ein Punktdiagramm innerhalb eines JSL-Skripts ändern. Der Graph Builder enthält zunächst eine Elements-Anweisung, die wie folgt aussieht:
Elements( Box Plot( Y, Legend( 9 ) ) ),
Ich möchte diese Anweisung daher in JSL wie folgt ändern:
Elements( Points( Y, Legend( 9 ) ) ),
Ich habe die Befehle << Element hinzufügen, << Element aktualisieren und << Element entfernen für die GraphBuilderBox im Skriptindex gefunden, kann aber nicht herausfinden, wie ich sie anwenden kann, um den gewünschten Effekt zu erzielen. Das im Index angegebene Beispiel (Hinzufügen einer Regressionslinie) bezieht sich nicht direkt auf meine Situation, aber ich vermute, dass ich etwas brauche wie Folgendes, wobei gb mein Graph Builder-Objekt ist:
report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), Y})
Dies ist jedoch offensichtlich nicht richtig – daher brauche ich nur ein Beispiel, das mir zeigt, wie die richtige Syntax aussehen sollte. Kann mir bitte jemand dabei helfen?
Vielen Dank.
Betreff: Aktualisieren der Element-Anweisung des Graph BuilderEs mag unelegant sein, aber es funktioniert – und das ist letztendlich das Einzige, was zählt!
Vielen Dank.
Betreff: Aktualisieren der Element-Anweisung des Graph BuilderIch verstehe jetzt genau, was Ihr Problem ist. Da Sie eine X-Gruppierung und keine tatsächliche X-Variable verwenden, ist die Indizierung für die Elemente nicht standardmäßig. Gemäß den Dokumenten:
obj << Get Element(xposition, yposition, i )
Aber bei einer X-Gruppierung anstelle eines X scheint es, dass das erste Element mit (1,1,1) nicht zugänglich ist. (0,1,1), (.,1,1) oder irgendetwas anderes, was ich versucht habe.Also habe ich mir Folgendes ausgedacht: Definieren Sie vorübergehend eine X-Variable, damit Sie auf das Element zugreifen können, und entfernen Sie dann die X-Variable, sobald Sie die erforderlichen Änderungen vorgenommen haben. Ich finde es völlig unelegant, aber es funktioniert. Ich werde versuchen herauszufinden, ob es eine ordnungsgemäße Möglichkeit gibt, auf die Elemente zuzugreifen, wenn kein X definiert ist, sodass Sie diese Problemumgehung nicht benötigen.
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Variables( Y( :height ), Group X( :sex ) ),
Elements( Box Plot( Y, Legend( 10 ) ) )
);
wait( 1 );
gbb = Report( gb )[Graph Builder Box( 1 )];
//define an X temporarily
gbb << Add Variable( {:age, Role( "X" )} );
gbb << Remove Element(1, 1, 1);
gbb << Add Element(1, 1, {Type( "Points" ), X, Y, Legend( 5 )});
//remove the X
gbb << Remove Variable( {:age, Role( "X" )} );
Betreff: Aktualisieren der Element-Anweisung des Graph BuilderHallo Julian,
Ich bin jetzt näher dran, das Problem zu verstehen, aber leider bin ich immer noch nicht ganz da.Der Unterschied zwischen meiner Situation und Ihrem Beispiel besteht darin, dass ich eine diskrete Gruppierungsvariable anstelle einer kontinuierlichen X-Variable verwende: Die folgende Variante Ihres Skripts veranschaulicht das Problem:
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Variables( Y( :height ), Group X( :sex ) ),
Elements( Box Plot( Y, Legend( 10 ) ) )
);
wait( 1 );
gbb = Report( gb )[Graph Builder Box( 1 )];
// How do I modify the following two lines to replace the Box Plot above by Points?
gbb << Remove Element(1, 1, 1);
gbb << Add Element(1, 1, {Type( "Points" ), X, Y, Legend( 5 )});
Wenn Sie mir einfach zeigen können, wie ich die letzten beiden Zeilen ändern kann, ist das Problem gelöst.
Betreff: Aktualisieren der Element-Anweisung des Graph BuilderHallo @DMR ,
Update Element() ändert die Eigenschaften eines vorhandenen Elements, erlaubt Ihnen aber meines Wissens nicht, den Typ des Elements zu ändern. Versuchen Sie, das vorhandene Element zu löschen und ein neues hinzuzufügen. Beispiel unten.
Hoffe das hilft!
@julianisch
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Box Plot( X, Y, Legend( 4 ) ) )
);
Wait(1);
gbb = Report( gb )[Graph Builder Box( 1 )];
gbb << Remove Element(1, 1, 1);
gbb << Add Element(1, 1, {Type( "Points" ), X, Y, Legend( 5 )});