J'utilise le Make Filter Change Handler () pour modifier dynamiquement le titre de l'axe Y en fonction des modifications apportées par l'utilisateur sur le filtre de données local. Le script utilise la solution par @hogi depuis ici . Cependant, dans mon exemple (script ci-dessous) qui représente de près mon cas réel, le titre de l'axe des ordonnées ne change qu'après que la deuxième case à cocher est cochée sur "âge". Comment faire changer la mosaïque de l'axe des ordonnées lors de la première sélection d'âge (je suis sur 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();
);