Mantener el color de la celda cuando se dividen las tablas.Hola,
Usé muestra de ejemplo 49836 para colorear celdas en una columna por el valor en una columna diferente , pero ahora tengo que dividir la tabla y mantener los colores de la celda.
Vi una discusión previa con respecto a la mesa concatenada, con algunos trabajos sobre cómo obtener los colores nuevamente.
¿Hay una manera similar de hacerlo con la tabla dividida?
Gracias
Re: Manteniendo el color de la celda cuando se dividen las tablas.Gracias de nuevo por su ayuda, usaré su ejemplo y ajustaré el código en consecuencia.
Re: Manteniendo el color de la celda cuando se dividen las tablas.Sabía que no habías dado la información precisa sobre cuál era tu división. Mi intención de proporcionar el ejemplo que generé fue darles un ejemplo del enfoque general que se debería tomar para resolver el problema. Supongo que debería poder tomar el ejemplo que di, expandirlo y cambiarlo para cumplir con sus especificaciones precisas.
Re: Manteniendo el color de la celda cuando se dividen las tablas.Gracias por la rápida respuesta,
El problema es que necesito dividir la tabla por otra columna y luego la columna utilizada para configurar el color.
en nuestro ejemplo, necesito dividir la tabla por: sexo mientras que el color se define por: edad.
dtSplit = dt < < División ( Dividir por ( : sexo ) , División ( : altura ) , Columnas restantes ( soltar Todos ) , Ordenar por Columna Propiedad ) ;
Gracias de nuevo,
Corrió
Re: Manteniendo el color de la celda cuando se dividen las tablas.Aquí hay una extensión de la muestra a la que hizo referencia que podría darle una pista sobre cómo transferir los colores.
/* Open a sample data table */
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
/* Obtain a list of unique values of age */
Summarize( a = By( :age ) );
/* Assign rowstate colors by the values in the age column */
dt << Color by Column( :age, Color Theme( "JMP Dark" ) );
/* Loop through each unique age and assign the rowstate color to the Color Cells */
For( i = 1, i <= N Items( a ), i++,
r = As List( dt << Get Rows Where( :age == Num( a[i] ) ) );
Column( dt, "height" ) << Color Cells( Color Of( Row State( r[1] ) ), r );
);
dtSplit = dt << Split( Split By( :age ), Split( :height ), Remaining Columns( Drop All ), Sort by Column Property );
// loop across all of the columns, and color the non missing cells with the
// color they had in the original data table
For( i = 1, i <= N Cols( dtSplit ), i++,
// Create a row list from the original table, based upon the column name
// in the split data table
r = As List( dt << Get Rows Where( :age == Num( Column( dtSplit, i ) << get name ) ) );
// Create a list of non missing rows in the split data table
r1 = As List( dtSplit << Get Rows Where( Is Missing( Column( dtSplit, i )[Row()] ) == 0 ) );
// Point back to the original data table and get the color from the row state
Current Data Table( dt );
TheColor = Color Of( Row State( r[1] ) );
// Point to the split table, and set the color of all of the
// non missing cells to the color found in the original table
Current Data Table( dtSplit );
Column( dtSplit, i ) << Color Cells( TheColor, r1 );
);
Re: Manteniendo el color de la celda cuando se dividen las tablas.Este es el único, lo siento, no he puesto el enlace en mi primera publicación.
Después de la división obtengo muchas columnas continuas sin ningún color.
Lo extraño que noté es que cuando dividí la columna de caracteres de colores, obtengo los colores pero no los correctos.
Si los colores fueran correctos, podría haber cambiado la columna a Charecter, dividir y luego volver a Continuar, pero de todos modos no es una solución elegante.
Gracias de nuevo
Re: Manteniendo el color de la celda cuando se dividen las tablas.Creo que el OP se refiere a esta nota de apoyo .
Re: Manteniendo el color de la celda cuando se dividen las tablas.Por favor, disculpe mi ignorancia, pero ¿dónde puedo encontrar? "Muestra 49836 para colorear celdas en una columna por el valor en una columna diferente".
No hay una forma directa de mantener los colores de las celdas, pero si puedo ver los detalles de la muestra a la que hace referencia, es posible que pueda diseñar una solución.