Changer la couleur de la police dans TableBox avec JSLEst-il possible de changer la couleur de la police des cellules individuelles d'un Tablebox ?
J'ai trouvé un article plus ancien qui disait que ce n'était pas possible sans mise en forme conditionnelle: https://community.jmp.com/t5/Discussions/Is-there-a-way-to-send-a-font-color-to-a-single-value-in-a/td-p/8643
Et la mise en forme conditionnelle ne fonctionnera pas pour ce projet. J'espérais que cette fonctionnalité avait été ajoutée depuis la publication de l'ancien message.
Essentailly, ce que j'ai est un graphique avec un tableau correspondant en dessous. Je veux que la couleur de la police de chaque ligne corresponde à la couleur de la ligne sur le graphique.
J'ai essayé de définir les couleurs d'arrière-plan de la rangée de tablebox avec "SetSelectedRowColor", mais c'est moche et illisible. Changer la couleur de la police serait bien mieux, si c'est possible.
Re : Changer la couleur de la police dans TableBox avec JSLAutant que je sache, pour une tablebox, la seule méthode de surbrillance prise en charge consiste à mettre en surbrillance la ligne entière.
Re : Changer la couleur de la police dans TableBox avec JSLSalut est-il un moyen de colorer les cellules sélectionnées? J'ai une centaine de cellules qui sont sélectionnées et j'aimerais donner une couleur pour se démarquer.
Merci
Sam
Re : Changer la couleur de la police dans TableBox avec JSLVous pouvez définir les couleurs du texte dans une zone de tableau. Vous devez utiliser des boîtes de col. Voici un exemple :
// Col Box Examples
nw = New Window( "Mountains",
tb = Table Box(
sb = String Col Box( "Mountain",
{"K2", "Delphi", "Kilimanjaro", "Grand Teton"}),
// Text boxes of different colors
cc = col box("Name",
tb1 = textbox("Hello"),
tb2 = textbox("World"),
tb3 = textbox("Fubar"),
tb4 = textbox("Geronimo")
),
),
);
tb1 << font color("Red") << set font style("Bold");
tb2 << font color("Blue");
tb3 << font color("Green");
tb4 << font color("Orange") << set font style("Bold");
Re : Changer la couleur de la police dans TableBox avec JSLHaha, "faute" est un peu dur - cette justification est parfaitement logique, merci pour l'information 
Re : Changer la couleur de la police dans TableBox avec JSLLe brouillage est de ma faute. En dehors de Graph Builder, JMP ignore le vert lorsqu'il a besoin de deux couleurs pour éviter le défaut commun de couleur rouge/vert. Cependant, Graph Builder est un peu plus dynamique et doit pouvoir passer de deux à trois couleurs sans changer les deux premières couleurs, il les réorganise donc dès le départ (chaque groupe de 3 obtient une rotation autour de la roue chromatique).Cela ne se produit qu'avec les thèmes de couleur étiquetés "JMP", vous évitez donc le double séquençage en utilisant un thème de couleur différent.
Re : Changer la couleur de la police dans TableBox avec JSLMerci beaucoup d'avoir pris le temps de documenter cela, Adam. Je vais le porter à l'attention du service R&D.
Re : Changer la couleur de la police dans TableBox avec JSLMerci encore, Ian, cela m'aide beaucoup. J'ai un bon plan de bataille pour que ça marche maintenant.
Bien que ce ne soit plus pertinent, pour en savoir plus sur #2 - lorsque les couleurs de valeur sont appliquées à une colonne, l'ordre séquentiel des couleurs qui se produisent dans la colonne est différent de celui lorsque le thème est utilisé dans le générateur de graphiques.
Dans cette image, la colonne "Theme Color" est une colonne que j'ai remplie de 1 à 20, puis j'ai cliqué sur Value Colors-> Color By Value-> JMP Light.
La colonne "GB Color" est une colonne que j'ai créée manuellement et qui montre l'ordre séquentiel des couleurs qui apparaît dans Graph Builder lorsque JMP Light est appliqué au graphique.

Après la 12e entrée, les couleurs se synchronisent, mais avant cela, elles ne correspondent pas à l'ordre séquentiel du thème JMP Light.
Ce n'est plus vraiment important, mais je trouve toujours que c'est un comportement assez étrange. Savez-vous pourquoi Graph Builder brouille les 12 premières couleurs du thème de couleur ?
Merci encore pour votre temps et votre aide,
-Adam
Re : Changer la couleur de la police dans TableBox avec JSLPour la partie 1., vous pouvez faire :
New Table( "Untitled 114",
Add Rows( 10 ),
New Column( "Column 1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] )
)
);
Wait(2);
:Column 1 << set Property( "Value Colors", Color Theme( "White to Blue" ) );
:Column 1 << colorCellByValue;
Wait(2);
:Column 1 << set Property( "Value Colors", Color Theme( "Light" ) );
Pour la partie 2., êtes-vous en mesure de partager un tableau avec seulement quelques lignes et un script Graph Builder enregistré de ce que vous voulez ?
Re : Changer la couleur de la police dans TableBox avec JSLSalut Ian,
Merci pour l'aide. Pour gagner du temps, je pense simplement ajouter une nouvelle colonne au début de la table de données ("ID") avant qu'elle ne soit convertie en tablebox, la remplir avec i++, et utiliser des couleurs de valeur et un thème de couleur par défaut (JMP Light) pour attribuer les couleurs d'arrière-plan.
De cette façon, nous pouvons facilement générer les couleurs et le texte réel est toujours lisible. Ce n'est pas idéal, mais il faut faire passer le message.
Je rencontre cependant deux problèmes :
- Affectation des couleurs de valeur pour une colonne via JSL
- J'ai essayé de voler ceci via le script de table:
New Table( "Untitled 114",
Add Rows( 10 ),
New Column( "Column 1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Property(
"Value Colors",
{1 = 35, 2 = 36, 3 = 37, 4 = 38, 5 = 39, 6 = 40, 7 = 41, 8 = 42, 9 = 43,
10 = 44}
),
Color Cell by Value,
Set Selected,
Set Values( [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] )
)
)Ce que j'aimerais vraiment faire, c'est avoir SetProperty("Value Colors", "JMP Light") au lieu de la liste dans le script de table. Y a-t-il un moyen de faire cela? - Quand Graph Builder prend en charge < , la palette elle-même change mais l'ordre des couleurs est différentC'est à dire, La valeur par défaut de JMP (et la lumière jmp) devient rouge->vert->bleu->orange->etc, tandis que le générateur de graphes devient bleu->rouge->vert->violet->etc
- Essentiellement, j'ai besoin d'une liste des couleurs que le générateur de graphiques utilise pour mes sous-tables.
- Une alternative serait d'attribuer des couleurs dans la table de données, puis de faire en sorte que Graph Builder utilise ces couleurs au lieu d'une palette, mais les données sont sous-ensembles et divisées en plusieurs graphiques/tableaux en fonction de l'interaction de l'utilisateur - donc bien qu'il soit possible de le faire, il serait beaucoup plus simple d'obtenir une liste des couleurs par défaut utilisées par le générateur de graphes dans le bon ordre.
Merci encore!
Re : Changer la couleur de la police dans TableBox avec JSLOn dirait que '<< textColor()' agit toujours globalement sur le contenu de 'StringColBox()'.
Je suppose que vous pourriez créer votre propre clé avec 'TextBox()' :
NewWindow("Legend",
LineUpBox(NCol(2),
TextBox("Some Text: "), tb1 = TextBox("Males", << fontColor("Red")),
TextBox("Some Text: "), tb2 = TextBox("Females", << fontColor("Blue"))
)
);