Ich verwende den Make Filter Change Handler (), um den Titel der Y-Achse basierend auf den vom Benutzer am lokalen Datenfilter vorgenommenen Änderungen dynamisch zu ändern. Das Skript verwendet die Lösung von @hogi aus Hier . In meinem Beispielfall (Skript unten), der meinen tatsächlichen Fall genau darstellt, ändert sich der Titel der Y-Achse jedoch erst, nachdem das zweite Kontrollkästchen auf „Alter“ aktiviert wurde. Wie kann ich die Y-Achsen-Kachel bei der ersten Altersauswahl ändern (ich verwende JMP 16.2.0)?
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 855, 687 ),
Show Control Panel( 0 ),
Variables( X( :name ), Y( :age ), Group Y( :height ) ),
Elements( Points( X, Y, Legend( 37 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :sex, :age ),
Where( :sex == "F" ),
Display( :sex, "Check Box Display" ),
Display( :age, "Check Box Display" )
)
),
SendToReport(
Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Y title", TextEditBox, {Rotate Text( "Left" )} )
)
);
ldf = Current Report()["Local Data Filter"] << get scriptable object;
changeTitle = Function( {this},
print(this);
ldfText = Regex(ldf << get where clause(),"\( *(:age == .*?)\)","\1");
if(ismissing(ldfText),ldfText = "all ages");
(Report( gb ) << XPath( "//TextEditBox" ))[4] << Set Text( ldfText );
);
fsh = ldf << Make Filter Change Handler(
changeTitle();
);