Définition d'un dégradé de couleur personnalisé dans la carte thermique de Graph Builder avec JSLJ'ai un modèle avec huit facteurs et quatre réponses. Je voudrais créer une carte thermique montrant quels facteurs sont significatifs pour quelles réponses.Je souhaite pouvoir définir ma propre échelle de couleurs, par exemple:
<0,0001 à 0,01 = orange
0,001 à 0,05 = rouge
> 0,05 = blanc
J'ai joué avec le dégradé dans Graph Builder mais je ne vois pas comment faire ce que je veux. Peut-être que ce n'est même plus techniquement un gradient, mais il semble que cela devrait être possible.L'image ci-dessous est aussi proche que moi.

Voici un extrait de script. L'ensemble de données complet avec le script enregistré est joint.
pente(
{Thème de couleur ("vert jaune rouge"),
Valeurs d'échelle ([0 0,05.]),
Largeur (9),
Type de plage ("Plage de données exacte"),
Gradient inversé (1),
Couleurs discrètes (1),
N étiquettes (5)}
)
Toute suggestion serait appréciée.
-À M
Re: Définition d'un dégradé de couleur personnalisé dans la carte thermique de Graph Builder avec JSLBonjour Tom!
Vous pouvez définir vos propres thèmes de couleurs dans JMP. Essayez quelque chose comme ceci:
Preferences( Add Color Theme(
{"White to Red p-Value", 2051, {{255, 255, 255}, {255, 255, 255}, {252, 187,
161}, {252, 146, 114}, {251, 106, 74}, {239, 59, 44}, {203, 24, 29}, {165,
15, 21}, {103, 0, 13}}, {0, 0.95, 0.96,
0.97, 0.98, 0.99, 0.995,
0.999, 1}}
),
);Les couleurs sont codées en valeurs RVB (par exemple, {255, 255, 255} est blanc) et les incréments qui vous intéressent sont donnés à la fin (par exemple, les premiers 95% de l'échelle de couleurs seront blancs tels qu'ils sont définis actuellement). Il s'agit d'un premier brouillon, vous devrez peut-être modifier les incréments ou les couleurs comme vous le souhaitez. Notez que cela créera un nouveau thème de couleur que vous pourrez utiliser dans n'importe quel graphique. Dans le graphique, assurez-vous d'inclure "min" et "max" pour l'échelle de couleurs, sinon ce dégradé ne commencera pas à devenir orange à 0,05:
gradient(
{Color Theme(
{"White to Red p-Value", 2051, {{255, 255, 255}, {255,
255, 255}, {252, 187, 161}, {252, 146, 114}, {251, 106,
74}, {239, 59, 44}, {203, 24, 29}, {165, 15, 21}, {103,
0, 13}}, {0, 0.95, 0.96, 0.97, 0.98, 0.99, 0.995, 0.999,
1}}
), Scale Values( [0 1] ), Reverse Labels( 1 )}
)J'espère que cela t'aides!
Kira
Re: Définition d'un dégradé de couleur personnalisé dans la carte thermique de Graph Builder avec JSLSalut Kira,
Merci de votre aide.Cela m'a vraiment aidé à arriver là où j'essayais d'aller.
J'ajouterai un peu plus de détails sur la façon de faire cela pour les autres qui pourraient essayer quelque chose de similaire, car je n'ai trouvé aucun détail dans la documentation JMP.
Si vous cliquez avec le bouton droit sur la légende de la carte de chaleur, sélectionnez Dégradé, puis cliquez sur le thème de couleur et ensuite sur le twisty pour ouvrir "Thème de couleur personnalisé".C'est la configuration qui a fini par fonctionner pour moi.

Il apparaît ici qu'il n'y a que quatre points définissant le gradient à 0, 10, 50 et 100%, mais ce n'est pas vrai.Si vous ne définissez que ces quatre points, vous obtiendrez des dégradés entre eux, par exemple du rouge à l'orange de 0 à 10%. Si vous voulez passer du rouge à l'orange à 10%, vous devez définir à la fois un point rouge et un point orange à 10%.L'interface utilisateur n'affiche qu'un seul marqueur car nous l'utilisons pour quelque chose pour lequel il n'a pas été conçu.
Pour obtenir trois gammes de couleurs discrètes, vous devez définir six points, même si vous n'en voyez que quatre ci-dessus en raison du chevauchement.Bien que la visualisation ci-dessus soit utile après coup , Je ne pouvais pas l'utiliser pour obtenir ce que je voulais en déplaçant les curseurs. J'ai dû l'écrire directement. Voici à quoi ressemblait mon code:
{Color Theme(
{"White to Red p-Value", 2051,
/*0%->red 10%->red 10%->orange 50%->orange 50%->white 100%->white */
{{255,0,0},{255,0,0},{255,165,0},{255,165,0},{255,255,255},{255,255,255}},
{.0000 , 0.1 , 0.1 , 0.5 , 0.5 , 1 }
}Comme l'a souligné Kira, le facteur d'échelle est important pour bien faire. Les valeurs du thème de couleur vont de 0 à 1 (0 à 100% de l'échelle définie).Le facteur d'échelle "mappe" l'échelle de couleur à votre variable particulière - dans mon cas 0 à 0,1.
Je peux penser à d'autres cas où je veux prendre des données en continu et les mapper à des étapes de couleur et non à des dégradés, alors peut-être y a-t-il une meilleure façon de le faire dans JMP ou simplement un paramètre qui me manque. (Je l'ai également fait comme Kira l'a suggéré, avec la création d'une nouvelle colonne - c'est certainement une option raisonnable aussi.)
Ma sortie finale ressemble à ceci, avec les ratios F affichés dans chaque cellule:

Dans le fichier joint se trouve l'ensemble de données d'origine. Le premier script exécute le modèle. La seconde entre dans le rapport, extrait les valeurs p et les ratios f et fait la carte thermique.J'aurais aimé comprendre suffisamment la navigation dans les arborescences de rapports pour rendre ce script de carte thermique suffisamment "intelligent" pour trouver le tableau "Test des effets" où qu'il se trouve dans le rapport.Dans l'état actuel des choses, il est codé en dur, de sorte que le script ne fonctionnera probablement qu'avec ce rapport particulier.
dt_pvals = report(fls)[outlinebox(1)][TableBox(6)] << make combined data table;
Je pense que cela pourrait être un outil de visualisation utile lorsque vous travaillez avec plusieurs facteurs et réponses.
-À M
Re: Définition d'un dégradé de couleur personnalisé dans la carte thermique de Graph Builder avec JSLGénial, merci pour l'explication détaillée Tom!