Share your ideas for the JMP Scripting Unsession at Discovery Summit by September 17th. We hope to see you there!
Choose Language Hide Translation Bar
Highlighted
matth1
Level II

Customise value colours in columns

I have a numeric column called Rejects which is set to be nominal. Most of the values are zero but there are also a range of values from 1 to N (N being variable depending on the dataset). I use these to plot a map of reject locations with the number of rejects indicated by colour.

 

I would like take advantage of the JMP built-in chromatic colour themes but with any value of 0 shown in light grey (so it's easy to see where there are rejects). However, I can't do both.

 

I tried:

dt:Rejects << Set Property( "Value Colors", Color Theme( "Jet" ) );
dt:Rejects << Set Property( "Value Colors", {0 = 32} );

but the second command overrides the first and sets the color theme back to the default. I can do it interactively by setting the colour theme then clicking on the colour for 0 in the column properties dialog but I want to script it.

 

I could change the default catagorical colour threme to be Jet, but I don't want to rely on that, and I also just other colour themes elsewhere in my reports. I also don't want to hardcode the colours because I want to use the full range of colours (blue to red) whether N is 5 or 25.

 

Many thanks for your help,

 

Matthew.

 

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
ian_jmp
Staff

Re: Customise value colours in columns

Something like this, perhaps?

NamesDefaultToHere(1);

// Make a table with defect counts
dt = NewTable("Defects", NewColumn("Rejects", Numeric, Ordinal, Formula(RandomInteger(0, 5))));
dt << addRows(30);
dt << runFormulas;
// Set some default colours . . .
dt:Rejects << Set Property( "Value Colors", Color Theme( "Jet" ) );
// Make a graph
gb = dt << Graph Builder(
				Size( 529, 447 ),
				Show Control Panel( 0 ),
				Variables( X( :Rejects ), Color( :Rejects ) ),
				Elements( Bar( X, Legend( 5 ) ) )
			);
// Get the default colors
defaultColours = dt:Rejects << getProperty("Value Colors");
// Update the colour for 0 defects
Wait(2);
defaultColours[1] = Expr(0 = 32);
// Renistate updated colours
dt:Rejects << Set Property( "Value Colors", defaultColours);

View solution in original post

2 REPLIES 2
Highlighted
ian_jmp
Staff

Re: Customise value colours in columns

Something like this, perhaps?

NamesDefaultToHere(1);

// Make a table with defect counts
dt = NewTable("Defects", NewColumn("Rejects", Numeric, Ordinal, Formula(RandomInteger(0, 5))));
dt << addRows(30);
dt << runFormulas;
// Set some default colours . . .
dt:Rejects << Set Property( "Value Colors", Color Theme( "Jet" ) );
// Make a graph
gb = dt << Graph Builder(
				Size( 529, 447 ),
				Show Control Panel( 0 ),
				Variables( X( :Rejects ), Color( :Rejects ) ),
				Elements( Bar( X, Legend( 5 ) ) )
			);
// Get the default colors
defaultColours = dt:Rejects << getProperty("Value Colors");
// Update the colour for 0 defects
Wait(2);
defaultColours[1] = Expr(0 = 32);
// Renistate updated colours
dt:Rejects << Set Property( "Value Colors", defaultColours);

View solution in original post

Highlighted
matth1
Level II

Re: Customise value colours in columns

Thanks Ian, works well!

 

Regards,

Matthew.

 

Article Labels

    There are no labels assigned to this post.