Bereichsschieberegler zur Steuerung des Achsenbereichs des DiagrammsEine Schleife generiert mehrere Diagrammersteller ohne bestimmten Namen. Ich wollte einen Bereichsschieberegler erstellen, um den X-Achsenbereich ALLER Diagramme im Journal (die alle denselben Bereich haben) ändern zu können, bin mir aber nicht sicher, wie ich das machen soll.
Betreff: Bereichsschieberegler zur Steuerung des Achsenbereichs des DiagrammsEindrucksvoll! Und um daraus einen Bereichsschieberegler zu machen, habe ich Folgendes getan:
Namen standardmäßig hier( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
dt:age << modeling type( "continuous" );
gb1 = dt << Graph Builder(
Größe( 528, 448 ),
Systemsteuerung anzeigen( 0 ),
Variablen( X( :Alter), Y( :Höhe ) ),
Elemente (Punkte (X, Y, Legende (5)))
);
gb2 = dt << Graph Builder(
Größe( 528, 448 ),
Systemsteuerung anzeigen( 0 ),
Variablen( X( :Alter), Y( :Gewicht ) ),
Elemente (Punkte (X, Y, Legende (5)))
);
slidervar = Report( gb1 )[axisbox( 1 )] << get min;
slidervar2 = Report( gb1 )[axisbox( 1 )] << get max;
Neues Fenster( „Beispiel“,
Panel-Box („Slider-Box“,
H-Listenfeld(
rsb = Range Slider Box(
Report( gb1 )[axisbox( 1 )] << get min, Report( gb1 )[axisbox( 1 )] << get max, slidervar, slidervar2,
(
Report( gb1 )[axisbox( 1 )] << Min( slidervar );
Report( gb1 )[axisbox( 1 )] << Max( slidervar2 );
Report( gb2 )[axisbox( 1 )] << Min( slidervar );
Report( gb2 )[axisbox( 1 )] << Max( slidervar2 );
);
)
)
)
);
Und damit war ich in der Lage, das zu tun, was ich für mein eigenes Drehbuch brauchte! Jim, vielen Dank!
Betreff: Bereichsschieberegler zur Steuerung des Achsenbereichs des DiagrammsDu hast es.
Betreff: Bereichsschieberegler zur Steuerung des Achsenbereichs des DiagrammsOkay, ich habe eine Funktion, die meine Diagramme erstellt.
Sie sagen, erstellen Sie eine leere Liste wie graphslist = {};
Dann in der Funktion,
Rufen Sie den Graph Builder mit einer Variablen auf, z. B. a = table << Graph builder();
Dann einfügen in (graphslist, a);
Ist es das was du meinst?
Betreff: Bereichsschieberegler zur Steuerung des Achsenbereichs des DiagrammsErfassen Sie einfach den Zeiger auf jedes Anzeigeobjekt in einer Liste, und dann können Sie auf jedes einzelne Objekt zugreifen, indem Sie auf jedes einzelne verweisen, indem Sie die Liste erneut durchgehen.
Betreff: Bereichsschieberegler zur Steuerung des Achsenbereichs des DiagrammsJim,
Aber mir ist aufgefallen, dass Sie alle Ihre Graph Builder-Objekte einzeln benannt haben.
Wie ich in meiner Frage sagte, erstellt mein Programm sie derzeit in einer Schleife, sodass sie nicht als Variablennamen bezeichnet werden. Aus diesem Grund weiß ich nicht, wie ich auf den Bericht verweisen soll.
Betreff: Bereichsschieberegler zur Steuerung des Achsenbereichs des DiagrammsDer einfachste Weg, dies zu tun, besteht darin, einen globalen Datenfilter zu öffnen und die Variable der X-Achse als Filtervariable auszuwählen. Es wird ein Schieberegler eingerichtet, mit dem Sie den Bereich ändern können.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
dt:age << modeling type( "continuous" );
gb1 = dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
gb2 = dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
dt << Data Filter(
Location( {780, 189} ),
Mode( Show( 1 ), Include( 1 ) ),
Add Filter( columns( :age ) )
);
Wenn Sie Ihre entwickeln möchten, können Sie ein Schiebereglerfeld einrichten, um die Min- und Max-Werte zu ändern. Sie können etwa Folgendes einrichten:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
dt:age << modeling type( "continuous" );
gb1 = dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
gb2 = dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
slidervar = Report( gb1 )[axisbox( 1 )] << get min;
slidervar2 = Report( gb1 )[axisbox( 1 )] << get max;
New Window( "Example",
Panel Box( "Slider Box",
H List Box(
sb = Slider Box(
Report( gb1 )[axisbox( 1 )] << get min,
Report( gb1 )[axisbox( 1 )] << get max,
slidervar,
Report( gb1 )[axisbox( 1 )] << Min( slidervar );
Report( gb2 )[axisbox( 1 )] << Min( slidervar );
),
sb2 = Slider Box(
Report( gb1 )[axisbox( 1 )] << get min,
Report( gb1 )[axisbox( 1 )] << get max,
slidervar2,
Report( gb1 )[axisbox( 1 )] << Max( slidervar2 );
Report( gb2 )[axisbox( 1 )] << Max( slidervar2 );
)
)
)
);
Sie können auch jedem Graph Builder ein Grafikskript hinzufügen, das Änderungen im Bereich und Ursprung der AxisBox(1) erkennt, und dann, wenn eine Änderung erkannt wird, die AxisBox(1)-Einstellungen aus dem Diagramm kopieren, in dem sich die Änderung befindet erkannt wird, zu jedem der anderen Diagramme. Dies ist natürlich komplexer, hat aber den Vorteil, dass kein separates Fenster mit Schieberegler erforderlich ist.