Relier ou verrouiller l'axe ensemble ?Salut,
Je suis un utilisateur JMP et JSL relativement nouveau et j'essaie de produire un rapport avec plusieurs graphiques. Je souhaite lier l'axe des x des deux graphiques, de sorte que lorsqu'un axe des x est mis à l'échelle ou autrement modifié (ligne de référence ajoutée, etc.), l'autre axe change également.
Certaines des plates-formes intégrées le font déjà, comme la carte de contrôle, qui relie l'axe des x pour les graphiques "Mesure individuelle" et "Plage mobile".
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Control Chart( Chart Col( Height, "Individual
Measurement", "Moving Range" ), K Sigma( 3 ) );
Comment puis-je reproduire cela pour mes propres rapports/plates-formes personnalisées/etc. ? Je n'ai pas été en mesure de comprendre comment le rapport de la carte de contrôle accomplit cela, malgré l'examen de l'arborescence et des propriétés des zones d'affichage.
Par exemple, comment puis-je lier les deux axes X dans le rapport suivant à l'aide de JSL ?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Distribution(
Stack( 1 ),
Continuous Distribution(
Column( :height ),
Horizontal Layout( 1 ),
Vertical( 0 ),
Count Axis( 1 )
),
By( :sex )
);
J'utilise JMP 13.2.
Merci!
ScriptRe : Relier ou verrouiller l'axe ensemble ?Jim a posté un excellent exemple de solution ici : Un script simple pour illustrer les changements d'axe dans un graphique Contrôler l'axe dans un graphique différent
Re : Relier ou verrouiller l'axe ensemble ?Jim, merci.
Je ne pense pas que ce soit la même méthode que les rapports et plates-formes "intégrés", car je ne vois aucun script graphique dans les propriétés lorsque j'inspecte les tracés et les axes intégrés. Je suppose qu'ils utilisent une API cachée qui n'est pas documentée.
Cependant, je pense que votre méthode est une solution de contournement acceptable qui devrait fonctionner dans la plupart des cas. Les performances ne sont pas excellentes, mais ça marche. Merci!
Re : Relier ou verrouiller l'axe ensemble ?Vous pouvez attacher un script au cadre box() qui peut détecter les changements dans Axis Box(), puis réinitialiser tous les axes aux nouvelles valeurs de Axis Box() qui a été réinitialisé.
Voir l'index des scripts pour plus de détails.
J'utilise généralement dans la zone Frame << Ajouter un script graphique une vérification de l'origine X et de la plage X changeant dans la zone Axis().
Re : Relier ou verrouiller l'axe ensemble ?Bosse. D'autres idées à ce sujet? Il y a sûrement des API/JSL que les plates-formes intégrées utilisent pour accomplir cela ?
Re : Relier ou verrouiller l'axe ensemble ?Stan,
Merci pour la réponse. Cela semble définir les échelles comme étant les mêmes au départ, mais si je saisis l'un des axes et change l'échelle, les autres axes ne se mettent pas à jour, ce que j'essayais d'accomplir. C'est-à-dire que j'espère les relier afin qu'ils soient toujours synchronisés les uns avec les autres, comme avec le rapport de la plate-forme Control Chart.
D'autres idées ?
- Érik
Re : Relier ou verrouiller l'axe ensemble ?Salut @ErikSwan ,
Je pense que vous pourriez être en mesure d'utiliser une mise à l'échelle uniforme.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
obj = Distribution( Column( :BP 8M, :BP 12M, :BP 6M, :BP 8W, :BP 12W ) );
obj << Uniform Scaling( 1 );
obj << Lock Scales( 1 );
obj << Stack( 1 );
Uniform ScalingUniform ScalingMise à l'échelle uniforme
Acclamations,
Stan