Salut tout le monde,
J'ai recherché ce sujet tout au long des discussions de la communauté mais je n'ai pas eu de chance jusqu'à présent.
Comment faire en sorte que le générateur de graphiques envoie une échelle variable pour la variable Y en fonction de la plage de données ?
Utilisation de l'exemple de données BigClass Si j'avais plus d'un graphique à tracer, j'utiliserais le script suivant :
dt= Open ("Big Class.JMP");
win = New window("Graphs", lub = Lineup Box (Ncol(2)));
Sexs = (Associative Array(Column (dt, "sex"))<<GET keys=""></GET>Ce code fonctionne pour moi.De plus, l’échelle Y s’ajuste automatiquement, ce qui est génial. Cependant, si je souhaite conserver certaines caractéristiques personnalisées, disons que je veux avoir un minimum Y de 55 à titre d'exemple, mais j'aimerais laisser JMP sélectionner le maximum Y en fonction de la plage de données. Comment faire dans ce cas ?
Dans ma situation, c'est différent, j'aimerais que le minimum Y soit toujours nul puisque j'ai une courbe avec toutes les valeurs commençant par zéro mais pour une raison quelconque, JMP définit les paramètres de l'axe des variables en commençant par des nombres négatifs malgré tout. Néanmoins, même si je souhaite que les valeurs soient affichées sur un minimum Y spécifique pour tous les graphiques, je ne peux pas alors faire en sorte que le Y Max change automatiquement en fonction de la plage de données ou jusqu'au maximum Y réel.
En utilisant le script ci-dessus et en le faisant manuellement, j'aurais la ligne de script résultante en définissant un minimum Y uniquement sur 55 :
SendToReport(Dispatch({},"height",ScaleBox,{Min( 55 ), Inc( 5 ), Minor Ticks( 1 )}));Vous verrez que les deux graphiques résultants auront le même maximum Y dans tous les cas et seront définis comme inférieurs à 70 même si l'un des graphiques contient des données jusqu'à 70.
Est-ce que quelqu'un sait comment écrire un script qui permettrait au Y max de changer en fonction de la plage de données ou de définir le Max en fonction du filtre local déjà défini ?
Merci
Il semble que la valeur maximale soit bloquée pour les deux graphiques.Cependant, voici une solution qui permet aux graphiques de s'exécuter indépendamment.
dt2 = Open( "$SAMPLE_DATA\Big Class.JMP" );
win = New Window( "Graphs", lub = Lineup Box( N Col( 2 ) ) );
Sexs = (Associative Array( Column( dt2, "sex" ) ) << Get keys);
For( i = 1, i <= N Items( Sexs ), i++,
dt2 << select where( :sex == sexs[i] );
dt = dt2 << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
lub << append(
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Wrap( :sex, N View Levels( 1 ) ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 9 ) ) ),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :Sex ),
Where( :Sex == Sexs[i] ),
Display( :Sex, Size( 224, 126 ), List Display )
)
)
);
Report( gb )[AxisBox( 2 )] << Min( 0 );
)
;
);