cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar

๐Ÿ™ Graph Builder: support more than 2 'Color' columns

1) What inspired this wish list request? 

โ˜‘ cool new feature
โ˜ could help many users!

โ˜ removes a โ€žbugโ€œ

โ˜ nice to have

โ˜ nobody needs it

 

#myTop10_2023

 

In GraphBuilder, one can drag a column onto the Color drop zone to use different colors for the individual items in the column - or to apply a color gradient depending on the values of this column.

 

By dragging 2 columns into the color drop zone, one can provide 2 columns -and then later specify via the variables list which of the two columns to choose.
This makes it possible to apply independent color settings to different subplots, like in Graph Builder - subplot with different color settings? 

 

Unfortunately, it's not possible to use more than 2 colors

 

2) What is the improvement you would like to see? 

Please allow Jmp to use more than 2 columns in the Color drop zone.

 

3) Why is this idea important?

It's possible to get up to 3 colors into the color drop zone, but the 3rd color doesn't work.

It's there, it seems to work, but it doesn't do what it should do.

The below code intentionally uses sex twice as color (1. and 3. entry).

This is not the reason why it doesn't work - it just helps to illustrate the issue.

 

A comparison of the top and bottom plot shows that the top plot (which uses the third color column) has wrong colors (no blue points, the points are red)

In different examples, the second color column was used instead of the third one.

 

hogi_2-1677968566625.png

 

 

 

 

Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
	Show Control Panel( 0 ),
	Variables(
		X( :height ),
		Y( :weight ),
		Y( :weight ),
		Y( :weight ),
		Color( :sex ),
		Color( :weight ),
		Color( :sex )
	),
	Elements( Position( 1, 1 ), Points( X, Y, Color( 3 ) ) ),
	Elements( Position( 1, 2 ), Points( X, Y, Color( 2 ) ) ),
	Elements( Position( 1, 3 ), Points( X, Y, Color( 1 ) ) )
)

 

 

 

 

more wishes submitted by  hogi_2-1702196401638.png

9 Comments
hogi
Level XII

Related wish: Graph Builder - Overlay by multiple columns  

(overlay instead of color)

Status changed to: Acknowledged
 
Status changed to: Not Planned For Now

Hey @hogi! This is not currently a high priority item given the backlog and other projects we are working on, and it will likely not be simple to address. Moving to Not Planned for Now, we can revisit if there are additional requests for this functionality. 

hogi
Level XII

wow, that's tough!
 

Via JSL it's already possible to use up to N=3 columns as "colors".

but Graph builder doesn't use them.

 

one of the lowest hanging fruits ...

hogi_0-1706727852887.png

 

Status changed to: Yes, Stay Tuned!

Thank you for the additional feedback @hogi! This will be implemented in JMP 19. 

hogi
Level XII

@Sarah-Sylvestre Thanks a lot!

a huge improvement.

- will you improve the functionality of  Graph Builder - Overlay by multiple columns  at the same time?

- will there be a limit of columns to be added?

 

hogi
Level XII

Workaround for columns with nominal modeling type:
concatenate multiple columns, use modeling type multiple response - and maybe set transparency for some combinations of  entries/subplots:

 

[example with 2 columns, i.e. still possible with Graph builder - but easily applicable to any number of columns

... just to illustrate how it works. with real/confidential data one can generate cool plots]

 

hogi_0-1718379591405.png

 

Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );

dt << New Column( "Concatenate[age,sex]",
	Character,
	"Multiple Response",
	Formula( Char( :age ) || ", " || :sex )
);

dt << Graph Builder(
	Variables(
		X( :height ),
		Y( :sex ),
		Y( :name ),
		Y( :weight ),
		Color( :"Concatenate[age,sex]"n )
	),
	Elements( Position( 1, 1 ), Points( X, Y, Legend( 15 ) ) ),
	Elements( Position( 1, 2 ), Points( X, Y, Legend( 16 ) ) ),
	Elements( Position( 1, 3 ), Points( X, Y, Legend( 12 ) ) ),
	SendToReport(
		Dispatch( {}, "400", ScaleBox,
			{Legend Model(
				15,
				Properties( 0, {Transparency( 0 )}, Item ID( "12", 1 ) ),
				Properties( 1, {Transparency( 0 )}, Item ID( "13", 1 ) ),
				Properties( 2, {Transparency( 0 )}, Item ID( "14", 1 ) ),
				Properties( 3, {Transparency( 0 )}, Item ID( "15", 1 ) ),
				Properties( 4, {Transparency( 0 )}, Item ID( "16", 1 ) ),
				Properties( 5, {Transparency( 0 )}, Item ID( "17", 1 ) )
			), Legend Model(
				16,
				Base( 0, 0, 0, Item ID( "12", 1 ) ),
				Base( 1, 0, 0, Item ID( "13", 1 ) ),
				Base( 2, 0, 0, Item ID( "14", 1 ) ),
				Base( 3, 0, 0, Item ID( "15", 1 ) ),
				Base( 4, 0, 0, Item ID( "16", 1 ) ),
				Base( 5, 0, 0, Item ID( "17", 1 ) ),
				Base( 6, 0, 0, Item ID( "F", 1 ) ),
				Base( 7, 0, 0, Item ID( "M", 1 ) ),
				Properties( 6, {Transparency( 0 )}, Item ID( "F", 1 ) ),
				Properties( 7, {Transparency( 0 )}, Item ID( "M", 1 ) )
			), Legend Model(
				12,
				Base( 0, 0, 0, Item ID( "12", 1 ) ),
				Base( 1, 0, 0, Item ID( "13", 1 ) ),
				Base( 2, 0, 0, Item ID( "14", 1 ) ),
				Base( 3, 0, 0, Item ID( "15", 1 ) ),
				Base( 4, 0, 0, Item ID( "16", 1 ) ),
				Base( 5, 0, 0, Item ID( "17", 1 ) ),
				Base( 6, 0, 6, Item ID( "F", 1 ) ),
				Base( 7, 0, 7, Item ID( "M", 1 ) ),
				Properties(
					6,
					{Marker( "Circle" ), Marker Size( 12 )},
					Item ID( "F", 1 )
				),
				Properties(
					7,
					{Marker( "Circle" ), Marker Size( 12 )},
					Item ID( "M", 1 )
				)
			)}
		),
		Dispatch( {}, "400", LegendBox,
			{Legend Position(
				{15, [0, 1, 2, 3, 4, 5, 6, 7], 16, [10, 11, 12, 13, 14, 15, 16, 17],
				12, [18, 19, 20, 21, 22, 23, 8, 9]}
			)}
		)
	)
);
	

@hogi I don't have an answer to your first question currently, but as for your second, yes, there will be a limit of 10 color variables. 

hogi
Level XII

thanks, 10 sounds OK for me.