Ändern Sie die Linienbreiten des Graph Builders mit der Overlay-VariableIch möchte die Linienbreiten im Graph Builder ändern können, wenn ich eine Overlay-Variable angegeben habe, aber ich weiß nicht im Voraus, welche Werte diese Variable haben könnte (oder wie viele Werte es geben könnte). Basierend auf einem Community-Beitrag habe ich Folgendes versucht:
Names Default To Here(1);
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
fbs = gb << XPath("//FrameBox");
For(i = 1, i <= N Items(fbs), i++,
frame = fbs[i];
seg = (frame << Find Seg("Line Seg"));
seg << Set Line Width(1);
);Dadurch wird allerdings nur die Dicke einer der Linien geändert (in diesem Fall für :sex=="F").
Danke!
Datenexploration und -visualisierungBetreff: Linienbreiten im Graph Builder mit Overlay-Variable ändernFind Segs
so eine nützliche Funktion! Gibt es eine Dokumentation?
Betreff: Linienbreiten im Graph Builder mit Overlay-Variable ändernHallo Matthew,
Die einfache Lösung besteht darin, Find Seg in Find Segs zu ändern. Dadurch werden alle Liniensegmente gefunden (es gibt zwei, eines für jedes Geschlecht) und die Breite durch die gewünschte ersetzt.
Da es außerdem nur 1 Rahmenfeld (oder 1 Diagramm) gibt, brauchen wir hier keine For- Schleife. Ich habe den Community-Beitrag gefunden, auf den Sie sich bezogen haben, und in diesem Beispiel gibt es zwei Rahmenfelder.
Wir können Ihren Code also wie folgt vereinfachen:
Names Default To Here(1);
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
fbs = gb << XPath("//FrameBox");
seg = (fbs << Find Segs("Line Seg"));
seg << Set Line Width(1);
Hoffe, das hilft!