707228_de-DE
Ändern Sie den Graph Builder-Diagrammtyp je nach Variablenmodellierungstyp dynamisch

Dieses Rezept zeigt, wie Sie den Elementtyp im Graph Builder dynamisch ändern, abhängig davon, ob der Benutzer im Column Switcher eine kontinuierliche oder kategoriale x-Achsenvariable auswählt. Elemente sind die Diagrammtypen, die als Symbole oben in der Diagrammerstellungspalette angezeigt werden. Für kontinuierliche Eingaben wird ein Optionsfeld hinzugefügt, mit dem der Benutzer zwischen einer Anpassungslinie und einer Kontur wählen kann. Dieses Rezept ist nützlich beim Erstellen interaktiver Diagramme für Personen, die keine JMP-Experten sind und nur eine begrenzte Anzahl von Optionen benötigen.
Zutaten:- Graph Builder
- Umgang mit Ausdrücken
Beispieldatentabelle – Große Klasse
Schwierigkeit - Hart
Schritte- Beginnen mit Namen standardmäßig hier(1) und offen Große Klasse .
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
- Erstellen Sie eine Funktion, die eine Nachricht an sendet Graph Builder Plattform, die das vorhandene Element entfernt und dann ein neues hinzufügt. Es geht davon aus, dass die Punkte Das Element wird bereits angezeigt und hat die Elementnummer 1, daher ist das zu entfernende Element die Nummer 2.
// This function changes the type of chart being displayed.
// It takes a reference to a Graph Builder report (gbr) and the chart type required (gr)
// At the moment it assumes the Points element will always be included
changeElement = function( {gbr, gr},
{default local},
Eval(
Substitute(
Expr(
gbr << remove element( 1, 1, 2 ) << add element( 1, 1, {Type( __aa__ ), X, Y} )
), Expr( __aa__ ), gr
)
)
);
- Erstellen Sie das neue Fenster, das den Spaltenumschalter enthält ( cs ), um die x-Achse zu ändern, ein Optionsfeld ( rb ), um den Elementtyp für kontinuierliche Variablen zu steuern, und der Graph Builder ( GB ).
rb_out = "Line of Fit";
win1 = New Window( "Demo",
Text Box(
"Column switching between continuous and nominal variables will change line of fit to box plots",
<<SET wrap=""></SET>
Der Spaltenumschalter wird bewusst außerhalb des Graph Builder erstellt, damit wir später eine Funktion erstellen können, die Maßnahmen ergreift, wenn sich der Umschalter ändert.
- Verknüpfen Sie den Spaltenumschalter cs zum Graph Builder GB
cs << link platform( gb );
- Erstellen Sie einen Spaltenschalter-Handler. Die Funktion post wird vom Handler aufgerufen, sobald die Änderung abgeschlossen ist. Das Format stammt direkt aus dem Scripting Index.
post = Function( {previousColumn, currentColumn, switcher},
gbr = Report( gb )[GraphBuilderBox( 1 )];
If( Column( dt, cs << get current ) << get modeling type == "Continuous",
changeElement( gbr, rb_out ),
changeElement( gbr, "Box Plot" )
);
);
cs << Make Column Switch Handler( 1, post );
Beachten Sie, dass nichts passieren muss, bevor der Wechsel abgeschlossen ist, also das erste Argument von Erstellen Sie einen Spaltenschalter-Handler tut nichts.
- Starten Sie abschließend den Spaltenumschalter zu Demozwecken.
cs << run();
Mögliche Variation:
- Erstellen Sie eine „Vor“-Änderungsfunktion, die die vorhandenen Elemente im Graph Builder durchläuft (unter Verwendung von << Elemente abrufen ), findet dasjenige, das entfernt werden muss, und setzt das dritte Argument programmgesteuert ein << Element entfernen (anstatt sich darauf zu verlassen, dass es das zweite Element ist).
Comments
There are no comments yet