Cambiar el color de fuente dentro de TableBox con JSL¿Es posible cambiar el color de fuente de las celdas individuales dentro de un cuadro de tabla?
Encontré una publicación anterior que decía que esto no era posible sin el formato condicional: https://community.jmp.com/t5/Discussions/Is-there-a-way-to-send-a-font-color-to-a-single-value-in-a/td-p/8643
Y el formato condicional no funcionará para este proyecto. Esperaba que esta funcionalidad se hubiera agregado desde que se hizo la publicación anterior.
Esencialmente, lo que tengo es un gráfico con una tabla correspondiente debajo. Quiero que el color de fuente de cada fila se corresponda con el color de la línea en el gráfico.
Intenté configurar los colores de fondo de la fila del tablebox con "SetSelectedRowColor", pero es feo e ilegible. Cambiar el color de la fuente sería mucho mejor, si es posible.
Re: Cambiar color de fuente dentro de TableBox con JSLHasta donde yo sé, para un cuadro de tabla, el único método de resaltado admitido es resaltar toda la fila.
Re: Cambiar color de fuente dentro de TableBox con JSLHola, ¿hay alguna manera de colorear las celdas seleccionadas? Tengo un centenar de celdas seleccionadas y me gustaría darles un color para que se destaquen.
Gracias
Sam
Re: Cambiar color de fuente dentro de TableBox con JSLPuede establecer los colores del texto en un cuadro de tabla. Tienes que usar cajas col. Aquí hay un ejemplo:
// 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: Cambiar color de fuente dentro de TableBox con JSLJaja, "falla" es un poco dura, esta lógica tiene mucho sentido, gracias por la información 
Re: Cambiar color de fuente dentro de TableBox con JSLLa confusión es mi culpa. Fuera de Graph Builder, JMP omitirá el verde cuando necesite dos colores para evitar la deficiencia común de color rojo/verde. Sin embargo, Graph Builder es un poco más dinámico y necesita poder pasar de dos a tres colores sin cambiar los primeros dos colores, por lo que los reorganiza desde el principio (cada grupo de 3 obtiene una rotación alrededor de la rueda de colores).Esto solo ocurre con los temas de color etiquetados como "JMP", por lo que evita la secuenciación dual utilizando un tema de color diferente.
Re: Cambiar color de fuente dentro de TableBox con JSLMuchas gracias por tomarse el tiempo para documentar esto, Adam. Lo traeré a la atención de R&D.
Re: Cambiar color de fuente dentro de TableBox con JSLGracias de nuevo, Ian, esto me ayuda mucho. Tengo un buen plan de batalla preparado para que esto funcione ahora.
Aunque ya no es relevante, para profundizar más en el n.° 2: cuando se aplican colores de valor a una columna, el orden secuencial de los colores que aparecen dentro de la columna es diferente que cuando el tema se usa en el generador de gráficos.
En esta imagen, la columna "Color del tema" es una columna que llené del 1 al 20 y luego presioné Value Colors->Color By Value->JMP Light.
La columna "GB Color" es una columna que hice manualmente que muestra el orden de color secuencial que aparece en Graph Builder cuando se aplica JMP Light al gráfico.

Después de la entrada 12, los colores se sincronizan, pero antes de eso no corresponden al orden secuencial dentro del tema JMP Light.
Ya no es realmente importante, pero todavía encuentro que este es un comportamiento bastante extraño. ¿Sabe por qué Graph Builder codifica los primeros 12 colores en el tema de color?
Gracias de nuevo por todo su tiempo y ayuda,
-Adán
Re: Cambiar color de fuente dentro de TableBox con JSLPara la parte 1., puedes hacer:
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" ) );
Para la parte 2, ¿puede compartir una tabla con solo unas pocas filas y un script guardado de Graph Builder de lo que desea?
Re: Cambiar color de fuente dentro de TableBox con JSLHola, Ian,
Gracias por la ayuda. Para ahorrar tiempo, estoy pensando en simplemente agregar una nueva columna al comienzo de la tabla de datos ("ID") antes de convertirla en un cuadro de tabla, llenarla con i++ y usar colores de valor y un tema de color predeterminado (JMP Luz) para asignar los colores de fondo.
De esta manera, podemos generar fácilmente los colores y el texto real sigue siendo legible. No es lo ideal, pero debería transmitir el mensaje.
Sin embargo, me encuentro con dos problemas:
- Asignación de colores de valor para una columna a través de JSL
- Intenté robar esto a través del script de la tabla:
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] )
)
)Lo que realmente me gustaría hacer es tener SetProperty("Value Colors", "JMP Light") en lugar de la lista en el script de la tabla. ¿Hay alguna forma de hacer esto? - Cuando Graph Builder acepta < , la paleta en sí cambia pero el orden de los colores es diferenteEs decir, El valor predeterminado de JMP (y la luz jmp) es rojo->verde->azul->naranja->etc., mientras que el generador de gráficos es azul->rojo->verde->púrpura->etc.
- Esencialmente, necesito una lista de los colores que usa el generador de gráficos para mis subtablas.
- Una alternativa sería asignar colores en la tabla de datos y luego hacer que Graph Builder use esos colores en lugar de una paleta, pero los datos se subdividen en subconjuntos y se dividen en múltiples gráficos/tablas en función de la interacción del usuario, por lo que, si bien es posible hacerlo, es Sería mucho más fácil simplemente obtener una lista de colores predeterminados utilizados por el generador de gráficos en el orden correcto.
¡Gracias de nuevo!
Re: Cambiar color de fuente dentro de TableBox con JSLParece que '<< textColor()' todavía actúa globalmente sobre el contenido de 'StringColBox()'.
Supongo que podrías construir tu propia clave con 'TextBox()':
NewWindow("Legend",
LineUpBox(NCol(2),
TextBox("Some Text: "), tb1 = TextBox("Males", << fontColor("Red")),
TextBox("Some Text: "), tb2 = TextBox("Females", << fontColor("Blue"))
)
);