¿Cómo utilizar JSL para colorear celdas locales por valor?Por ejemplo, en la columna "peso" de "Big class.jMP", tome los datos en las filas 1 a 10 y haga el color del degradado según la altura de los datos, como en el Imagen .Así que puedes iniciar y detener cualquier color que desees.

La personalización en masaRe: ¿Cómo utilizar JSL para colorear celdas locales por valor?Utilice este método estúpido para seleccionar el número de color que quiero.

Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?¡Gracias Jim!
Es difícil obtener un número de color como este directamente del color de la celda:
"-2768895, -5530606, -6582759, -8094941, -9147350, -10462158, -11514567, -12237762,
-13344414, -14575206"Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?Se adjunta una tabla de datos con la columna de fórmula agregada, recuperando los colores de las celdas de la columna Alto.Los colores se establecieron haciendo clic derecho en cada celda y seleccionando Color de celda.La fórmula no podrá recuperar los colores establecidos con Color o Marcar por columna, Colores de valor o Color de degradado

Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?¡Gracias Jim!
Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?¡Gran función, Jim! Gracias por compartir.
Este es un buen lugar para promocionar su idea de la Lista de deseos de JMP: << obtener color de celda
tener esto integrado en JMP, para que cualquiera que se tope con esta discusión pueda votar a favor.
Gracias,
~Juan
Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?Aquí hay una fórmula que funciona si las celdas se han coloreado usando Color Cells().Pero el color de celda que se ha establecido mediante Valor de colores o Color y marca por columna()...Entonces no es una fórmula muy adecuada
// Define formula to retrieve cell colors
If( Row() == 1,
get_cell_color = Function( {col, r},
s = col << get script;
//Locate argument "Color Cells" in column script
For( i = 1, i <= N Arg( s ), i++,
If( Head Name( Arg( s, i ) ) == "Color Cells",
p = i;
Break();
);
);
//Identify the sublist that contains the color of row r
if( p==i,
L = Arg( Arg( s, p ), 1 );
For( i = 1, N Items( L ), i++,
If( N Row( Loc( L[i][2], r ) ) == 1,
color = L[i][1];
Break();
)
);
color,
color=.
)
)
);
cellcolor = get_cell_color( Column( :Height ), Row() );Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?¡Gracias Jim!
Tengo el código para probar esa publicación, pero todavía no voy a llegar allí.

Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?¿Leíste la entrada que publiqué en mi respuesta anterior sobre cómo recuperar colores de celda?Tiene una función que puede indicarle cómo acceder a los colores de las celdas.Si los colores se han configurado mediante el uso de "Color o Marcar por columna", entonces la única forma que conozco de obtener los colores es crear una columna de estado de fila, copiar los estados de fila actuales a la nueva columna y luego usar el Color de ( Estado de fila (número de fila)) para recuperar el valor del color.
Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?¡Gracias Jim!
Todavía no he aprendido a escribir "Funciones".
Quiero obtener un número de color como este:

Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?Puedes crear fácilmente un patrón similar en JSL.Pero en JSL creas funciones.

Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?¡Gracias Jim!
Me habéis dado mucha ayuda y habéis progresado rápidamente.
Solía usar VBA y pude registrar la mayor parte del código para cada paso.
Ahora que uso JSL, también quiero lograr un funcionamiento completamente automático.Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?Hace unos años hice la misma pregunta,
Aquí lo tienes:
Básicamente tienes que extraerlo del script extraído de la columna que te interesa.
Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?¿Pero hacerlo manualmente para mostrar esto?
Además, ¿podría utilizar JSL para obtener automáticamente el número de color de cada celda de fila en la columna de "altura"?

Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?Gracias pmroz!
Lo hice.
Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?¿Qué versión(es) de sistema operativo y JMP estás utilizando?Estoy usando JMP 14 en Windows 10, 64 bits.
Pruebe estos pasos:
- Clase grande abierta
- Haga clic derecho en altura> Propiedades de columna> Degradado de color

- Marque "Color de celda por valor", luego Aceptar

- Deberías terminar con esto:

Si esto aún no funciona, deberá comunicarse con el servicio de asistencia técnica de JMP.
Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?Gracias pmroz!
Es extraño, todavía no veo entre 1 y 10 líneas de color aquí. Las líneas 11 a 40 son blancas.

Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?A continuación se explica cómo mostrar únicamente el degradado de color de las filas 1 a 10. Tenga en cuenta que el mínimo, el máximo y la media se calculan en toda la columna.Puedes ajustar eso.
dt = open("$sample_data\Big Class.jmp");
bmin = col min(dt:height);
bmax = col max(dt:height);
bavg = col mean(dt:height);
dt:height << set property("Color Gradient", {"Light Spectral", Range( {bmin, bmax, bavg} )});
dt:height << Color Cell by Value(1);
reset_rows = 11::40;
dt:height << color cells ("White", reset_rows);

Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?Deberías ver esto:

Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?Gracias pmroz!
¿Está completo su código? No vi ningún resultado cuando lo ejecuté y no sabía cómo perfeccionar el código. ¡Gracias por su ayuda!Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?También puedes probar el degradado de color.
dt = open("$sample_data\Big Class.jmp");
bmin = col min(dt:height);
bmax = col max(dt:height);
bavg = col mean(dt:height);
dt:height << set property("Color Gradient", {"Light Spectral", Range( {bmin, bmax, bavg} )});
dt:height << Color Cell by Value(1);
Esto coloreará toda la columna.Puede utilizar celdas de color desde las filas 11 hasta el final para eliminar el color.
Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?Busque en la Guía de secuencias de comandos... no solo en el Índice de secuencias de comandosRe: ¿Cómo utilizar JSL para colorear celdas locales por valor?¡Gracias Jim!
Busqué en el índice y solo vi esto.
¿Dónde puedo ver un código de color más completo?

Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?
Aquí hay un script que coloreará las primeras 10 filas del peso de la columna en la tabla de datos.
names default to here(1);
dt=Open("$SAMPLE_DATA/big class.jmp");
// Set the gradient list of colors
colorList = {-2768895, -5530606, -6582759, -8094941, -9147350, -10462158, -11514567, -12237762,
-13344414, -14575206};
// Color first 10 rows
// find the range
weightMin= col min(if(Row()<=10,:weight,.));
weightMax= col max(if(Row()<=10,:weight,.));
weightInc= (weightMax-weightmin)/10;
// Loop across and set the colors
For(i=1,i<=10,i++,
Bin=floor((:weight[i]-weightMin)/weightInc)+1;
if(Bin>10,Bin=10);
:weight << color cells( colorList[bin],i)
);
Para comprender todos los conceptos detrás de los colores en JMP, debe leer la documentación en la Guía de secuencias de comandos sobre especificación de colores.
Re: ¿Cómo utilizar JSL para colorear celdas locales por valor?No se encontraron "escalas de colores" en el índice del script.