cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Learn how to build custom Python data connectors and further customize JMP’s Data Connector Framework with the Python Data Connector Demo, available now in the JMP Marketplace!
  • See how to create experiments to support product design and ID useful product features. Register for June 12 webinar, 2pm US Eastern Time.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
matth1
Level IV

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
ian_jmp
Level X

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
ian_jmp
Level X

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);
matth1
Level IV

Re: Customise value colours in columns

Thanks Ian, works well!

 

Regards,

Matthew.

 

Recommended Articles