Aktivieren Sie das Kontrollkästchen, um Jitter im Graph Builder ein-/auszuschaltenHallo,
Ich hätte gerne ein Kontrollkästchenobjekt oben in der Graph Builder-Ansicht, um die Trennung von überlappenden Punkten (Jitter) ein- und auszuschalten. Ich weiß, dass dies über das Bedienfeld möglich ist, aber aus Sicht der Visualisierung möchte ich das Bedienfeld geschlossen halten.
Beispielskript unten, das Steuerelemente für Jitter über dem Diagramm erstellt. Trotz aller Bemühungen kann ich das Kontrollkästchen nicht dazu bringen, den Jitter umzuschalten; Ich weiß nicht, was der richtige Weg ist, um ein Update an einen Bericht zu senden.
Ich bitte um Ihre Hilfe bei der Syntax.
Names Default To Here(1);
dt= Open("$SAMPLE_DATA/Big Class.jmp");
gb=Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements(
Points( X, Y )
)
);
jitter = 1;
jitter_elements=H List Box(
cb=Check Box(
{"Jitter enabled"},
If(cb<<GET> gb << SendToReport(Elements(Points(Jitter( "Positive Grid" ), Jitter Limit( jitter )))), // This is not correct but something like this (maybe)
gb << SendToReport(Elements(Points(Jitter( "None" )))) // This is not correct but something like this (maybe)
);
),
sb = Slider Box( 0, 2, jitter,
neb << set( jitter );
),
neb = Number Edit Box(jitter,
<<SETFUNCTION></SETFUNCTION></GET>SkripterstellungBetreff: Kontrollkästchen zum Ein-/Ausschalten von Jitter im Graph Builder aktivierenNette Idee, nicht offensichtlich, wie es geht, freue mich auf eine Antwort.
Betreff: Kontrollkästchen zum Ein-/Ausschalten von Jitter im Graph Builder aktivierenDas Manipulieren von Elementen ist meines Wissens ein Chaos, und es wird noch chaotischer, wenn Sie eine Gruppierung haben. Deshalb versuche ich, es (normalerweise) zu vermeiden und einfach die Grafik neu zu erstellen. Hier ist eine Möglichkeit, wie Sie versuchen könnten, Elemente aktualisieren zu verwenden, um Jitter zu ändern
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
jitter = 1;
New Window("",
V List Box(
H List Box(
cb = Check Box(
{"Jitter enabled"},
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("None")});
)
),
sb = Slider Box(0, 2, jitter, neb << set(jitter)),
neb = Number Edit Box(
jitter,
<<SETFUNCTION></SETFUNCTION>
Andere nützliche Funktionen könnten Elemente hinzufügen und Elemente entfernen sein, siehe auch diesen Beitrag Aktualisieren der Element-Anweisung des Graph Builder
Betreff: Kontrollkästchen zum Ein-/Ausschalten von Jitter im Graph Builder aktivierenDanke Jarmo,
Ihre Lösung (Elemente aktualisieren) funktioniert gut, sehr gut.
Unten ist eine weiter modifizierte Version, um auch den Schieberegler und die Zahlenfelder zu erhalten, die das Diagramm aktualisieren.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
jitter = 0.2;
New Window("",
V List Box(
H List Box(
cb = Check Box(
{"Jitter enabled"},
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("None")});
)
),
sb = Slider Box(0.1, 0.2, jitter,
neb << set(jitter);
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
);
),
neb = Number Edit Box(
jitter,
<<SETFUNCTION>0.2, jitter=0.2);
sb << inval;
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
);
neb << set(jitter);
)
)
)
),
gb = dt << Graph Builder(Show Control Panel(0), Variables(X(:height), Y(:weight)), Elements(Points(X, Y)));
)
);</SETFUNCTION>