Besoin d'aide avec recal automatique sur graphique bivariéUtilisation des exemples de données de grande classe . J'essaie de créer un script simple qui publie y sur x. Il a un ensemble UCL et le script a également un recalcul automatique activé. J'aimerais que ce script utilise le recalcul automatique. Ainsi, lorsque je masquerai et exclurai certains points de données, il ajustera l'axe y. Mais, si je veux cacher et exclure des points en dessous de l'UCL (disons quelque chose de supérieur à 100), je veux toujours que l'axe y s'ajuste mais ne descende pas plus bas que l'UCL. Y-a-t-il un moyen de faire ça?
Bivariate(
Y( :weight ),
X( :height ),
Automatic Recalc( 1 ),
SendToReport( Dispatch( {}, "2", ScaleBox, {Add Ref Line( 120, Solid, "Medium Dark Red", "UCL 120", 2 )} ) )
)ScriptRe : Besoin d'aide avec le recal automatique sur le graphique bivariéExactement ce dont j'ai besoin. Merci.Re : Besoin d'aide avec le recal automatique sur le graphique bivariéJe crois que c'était ma mauvaise lecture, mais essayez celle ci-dessous.Je pense que c'est proche de ce que vous voulez, et sinon, vous devriez pouvoir l'ajuster pour répondre à la logique dont vous avez besoin.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
biv = Bivariate(
Y( :weight ),
X( :height ),
Automatic Recalc( 1 ),
SendToReport(
Dispatch( {}, "2", ScaleBox, {Add Ref Line( 120, Solid, "Medium Dark Red", "UCL 120", 2 )} )
)
);
Report( biv )[FrameBox( 1 )] << add graphics script(
If( Col Max( If( Excluded( Row State( Row() ) ) == 1, ., :weight ) ) < 120,
Report( biv )[AxisBox( 1 )] << Max( 125 ),
Report( biv )[AxisBox( 1 )] << Max( Col Max( If( Excluded( Row State( Row() ) ) == 1, ., :weight ) ) )
)
);Re : Besoin d'aide avec le recal automatique sur le graphique bivarié@txnelson vous a fourni la solution, changez simplement le Min en Max.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
biv = Bivariate(
Y( :weight ),
X( :height ),
Automatic Recalc( 1 ),
SendToReport(
Dispatch( {}, "2", ScaleBox, {Add Ref Line( 120, Solid, "Medium Dark Red", "UCL 120", 2 )} )
)
);
Report( biv )[FrameBox( 1 )] << add graphics script(
If( (Report( biv )[AxisBox( 1 )] << get max) < 120,
Report( biv )[AxisBox( 1 )] << Max( 120 )
)
);
Une autre approche consiste à utiliser une fonction Row State Handler. Voir ci-dessous. Si vous débutez avec JSL, la solution de Jim est une solution plus sûre.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
::ymax = Col Max(:weight);
f = function({a}, ::ymax= Maximum( Col Max(:weight), 120) );
dt << Make RowState Handler(f);
biv = Bivariate(
Y( :weight ),
X( :height ),
Automatic Recalc( 1 ),
SendToReport(
Dispatch( {}, "2", ScaleBox,
{Add Ref Line( 120, Solid, "Medium Dark Red", "UCL 120", 2 )},
{Min( 60 ), Max( ::ymax ), Inc( 20 ), Minor Ticks( 0 )}
)
)
);
Re : Besoin d'aide avec le recal automatique sur le graphique bivariéEn fait, je l'ai peut-être mal décrit. Je voudrais que le maximum sur l'axe y reste à l'UCL lorsque le calcul automatique est utilisé lorsqu'il n'y a pas de points au-dessus de l'UCL.Re : Besoin d'aide avec le recal automatique sur le graphique bivariéQuelque chose comme ça pourrait fonctionner
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
biv = Bivariate(
Y( :weight ),
X( :height ),
Automatic Recalc( 1 ),
SendToReport(
Dispatch( {}, "2", ScaleBox, {Add Ref Line( 120, Solid, "Medium Dark Red", "UCL 120", 2 )} )
)
);
Report( biv )[FrameBox( 1 )] << add graphics script(
If( (Report( biv )[AxisBox( 1 )] << get min) < 120,
Report( biv )[AxisBox( 1 )] << Min( 120 )
)
);