Tengo una columna numérica llamada Rechazos que está configurada para ser nominal. La mayoría de los valores son cero, pero también hay un rango de valores de 1 a N (siendo N variable según el conjunto de datos). Los uso para trazar un mapa de ubicaciones de rechazo con el número de rechazos indicado por color.
Me gustaría aprovechar los temas de color cromático incorporados de JMP, pero con cualquier valor de 0 mostrado en gris claro (para que sea fácil ver dónde hay rechazos). Sin embargo, no puedo hacer ambas cosas.
Lo intenté:
dt:Rejects << Set Property( "Value Colors", Color Theme( "Jet" ) );
dt:Rejects << Set Property( "Value Colors", {0 = 32} );pero el segundo comando anula el primero y restablece el tema de color al valor predeterminado. Puedo hacerlo de forma interactiva configurando el tema de color y luego haciendo clic en el color para 0 en el cuadro de diálogo de propiedades de la columna, pero quiero escribirlo.
Podría cambiar el threme de color catagórico predeterminado para que sea Jet, pero no quiero depender de eso, y también solo tengo otros temas de color en otras partes de mis informes. Tampoco quiero codificar los colores porque quiero usar la gama completa de colores (azul a rojo) ya sea que N sea 5 o 25.
Muchas gracias por su ayuda,
Mateo.
Gracias Ian, funciona bien!
Saludos,
Mateo.
¿Algo como esto, quizás?
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);