/* After save dt into Journal, the cell color from data data table was changed into the font color in the journal */ Names Default To Here( 1 ); dt = Open( "$SAMPLE_DATA/Big Class.jmp" ); dt << Color by Column( :age); Wait( 0 ); dt << Color Rows by Row State; dt<<save(); dt<< Clear column selection(); dt << clear select; win = New Window( "New Window", dt<<Journal);
The table message dt << Color Rows By Row State() seems to be a "view" statement. The table view is changed, but saving the table and opening it or journaling does not maintain the colored cells. Journaling that table will create a report in the Journal with the table font colors rmatching the row state colors.
However, col << Color Cells( clr, rows) is a column message. This message is stored in the table column's attributes. Also when journaling the cell color is maintained.
Below both script and result are displayed below. Note another method (might be more direct) would be to get the unique keys for each group (age), get the rows for each age, then pick a color and apply it to those rows of each column.
Names Default To Here( 1 ); dt = Open( "$SAMPLE_DATA/Big Class.jmp" ); dt << Color by Column( :age ); Wait( 0 ); //This next command does not save the cell colors. //dt << Color Rows by Row State; dt << Clear column selection(); dt << clear select; //get the unique colors nr = N Row( dt ); //make a list the size of the table to get the row colors and locate rows of a given color _clr = As List( J( nr, 1, 0 ) ); For( i = 1, i <= N Row( dt ), i++, _clr[i] = Color To RGB( Color Of( Row State( i ) ) ) ); //creates a list of unique colors clr_keys = Associative Array( _clr ) << get keys; //for each color (j), locate which rows are assigned that color using Loc( _clr, ...) For( j = 1, j <= N Items( clr_keys ), j++, idx = Loc( _clr, clr_keys[j] ); //Color the cells in rows idx and each coloumn For( i = 1, i <= N Col( dt ), i++, Column( dt, i ) << color cells( RGB Color( clr_keys[j] ), idx ) ); ); //now journal the table dt << journal;
Which version of JMP do you have? Did you use this script or a modified script? If modified, please attach.