Solution 2: Couleurs de valeur
Pour les éléments de graphique qui ne correspondent généralement pas à des lignes individuelles, telles que les graphiques à barres et les treemaps, les couleurs des lignes ne vous aideront pas. Cependant, nous pouvons ajouter une propriété Value Colors à Couleur colonne et utilisez-le dans le rôle Couleur du Générateur de graphes, ces couleurs seront utilisées dans le graphique. Pour créer une propriété de colonne Value Colors par programme, commencez par créer une propriété test Value Couleurs et effectuez un script de copie de table sur la table de données pour voir comment JMP enregistre les couleurs de valeurs en JSL. Vous verrez quelque chose comme ça:
...
Set Property( "Value Colors",
{"#000000" = -5425372, "#003399" = -13577875, "#004899" = -4354269,
"#0063aa" = -13400361, "#006fba" = -2668175, "#0070bc" = -10628061,
...})
Dans chaque affectation, le côté gauche correspond à la valeur de données et le côté droit à la représentation sous forme de numéro JSL d'une valeur de couleur, identique au résultat de la fonction Couleur RVB ().
Notre tâche consiste donc à créer une telle expression par programme à l'aide d'expressions JSL, puis à l'envoyer à la table de données pour définir la propriété avec le message Ajouter des propriétés de colonne ().
Voici mon code:
eadd = Expr(
Column( "color" ) << Add Column Properties( Set Property( "Value Colors", LLL ) )
);
evc = {};
ec = Expr( SSS = CCC );
For Each Row(
ec2 = Substitute( Name Expr( ec ),
Expr( SSS ), :color,
Expr( CCC ),
RGB Color(
Hex To Number( Substr( :color, 2, 2 ) ),
Hex To Number( Substr( :color, 4, 2 ) ),
Hex To Number( Substr( :color, 6, 2 ) )
)
);
Insert Into( evc, Name Expr( ec2 ) );
);
Substitute Into( eadd, Expr( LLL ), Name Expr( evc ) );
eadd; // evaluates the expression
Par convention, je préfixe les variables d'expression avec "e" et utilise des majuscules pour les modèles de substitution. L'idée de base est de créer une expression avec le formulaire de base à l'aide d'espaces réservés, puis d'utiliser Remplacer pour remplacer les espaces réservés par des valeurs calculées. Mais ici, il y a deux niveaux de substitution en cours. Un pour la commande, eadd , qui a le JE VAIS espace réservé pour la liste des couleurs de valeur, et un pour chaque affectation, ec , qui a des espaces réservés SSS et CCC pour la ficelle et la couleur.