Dans une séance avec @julien J'ai appris à rendre les tracés Heatmap plus attrayants en ajoutant des bordures autour des cellules.
D'autres options - comme le motif - peuvent être contrôlées via le panneau de configuration sur la gauche.

Celui-ci malheureusement pas - il doit être appliqué via un clic droit dans le graphique/Personnaliser... - et séparément pour chaque sous-parcelle.

D'une part, c'est bien parce que chaque sous-parcelle peut être configurée individuellement - d'autre part : cela peut prendre un certain temps.
S'il y a plusieurs sous-parcelles ouvertes, comment puis-je modifier toutes les sous-parcelles à la fois - et comment puis-je modifier le paramètre, de sorte que (lorsque la table de données est mise à jour et que de nouvelles sous-parcelles apparaissent) les nouvelles sous-parcelles commencent par linewidth=1 ?
La plupart de ces commandes de clic droit peuvent être diffusées à toutes les sous-parcelles en appuyant sur CTRL.
Mais pour Customize... cela ne semble pas possible.
Une astuce consiste à supprimer toutes les sous-parcelles en supprimant les colonnes du groupe X/Y, Wrap/Pages, appliquer le LineWidth, puis ajouter à nouveau les colonnes aux DropZones respectives. Mais cela prend du temps.
Une autre astuce :
Envoyez la commande à tous les FrameBox du Graph actuel via JSL.
Mais il y a toujours le problème lorsque de nouvelles sous-parcelles apparaissent (sans les bordures).
Quelqu'un utilise-t-il des Heatmaps avec des bordures autour des cellules ? Et des recommandations comment faciliter l'utilisation ?

Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 454, 256 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), Group X( :sex ), Overlay( :sex ) ),
Elements( Heatmap( X, Y, Legend( 3 ), Bin Shape( "Hexagonal" ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{DispatchSeg( HexSeg( 1 ), Line Width( 1 ) )}
)
)
)
Peut-être que le copier-coller de personnalisation fonctionne dans ce cas ? Faites un clic droit sur le graphique -> Modifier -> Copier les personnalisations. Ensuite, allez dans un autre cadre et même mais Coller les personnalisations (je pense que vous pouvez également le diffuser avec Ctrl).
Salut @hogi ,
vous mentionnez qu'une option consiste à :
Envoyez la commande à toutes les FrameBox du Graph actuel via JSL.
Si je ne sais pas quelles seront les valeurs du groupe X, comment puis-je procéder ?
Je suppose que je peux le faire en envoyant un message au(x) Framebox quelque chose comme ceci (où gb1 est une référence au Graph Builder) :
bordercode = "HexSeg( 1 ), {Line Width( 1 )}";
fnDef = Expr(
(gb1 << xpath( "//FrameBox" )) << DispatchSeg( __aa__ )
);
Substitute Into( fnDef, Expr( __aa__ ), parse( bordercode ) );
Parse( fnDef );Mais j'obtiens l'erreur suivante :
Unexpected ",". Perhaps there is a missing ";" or ",".
Line 1 Column 13: HexSeg( 1 )►, {Line Width( 0.5 )}
The remaining text that was ignored was
,{Line Width(0.5)}Je suppose donc que je formate mal le message. J'ai essayé différentes combinaisons, avec et sans "Parse", etc. mais sans succès.
Merci pour toutes suggestions!
fbs =current report() << xpath( "//FrameBox" );
fbs << {DispatchSeg( HexSeg( 1 ), Line Width( 1 ) )}