Hola a todos,
En mi script actual, tengo los sitios individuales definidos con un color determinado en la leyenda, pero hacerlo de esta manera no se trasladará si los "sitios" están etiquetados de forma diferente. Estaba pensando que tal vez "celda de color" podría cambiar todas las celdas a un color, pero estoy teniendo problemas.
¿Cómo escribirías un solo color para todas las celdas?
Tamaño(879, 653),
Mostrar panel de control (0),
Variables( X( :SitioX ), Y( :SitioY ), Color( :Sitio ) ),
Elementos(Mapa de calor(X, Y, Leyenda(44), Etiqueta("Etiqueta por valor"), Tema de color("Sólido", "gris"))),
Filtro de datos locales (Cerrar esquema (1)),
EnviarAlInforme(
Despacho( {}, "SiteX", ScaleBox, {Etiqueta Fila( Mostrar Cuadrícula Principal( 1 ) )} ),
Despacho( {}, "SiteY", ScaleBox, {Etiqueta Fila( Mostrar Cuadrícula Principal( 1 ) )} ),
Despacho( {}, "400", ScaleBox,
{Modelo de leyenda(
44,
Propiedades( 0, {Color de relleno( 32 )}, ID de elemento( "01", 1 ) ),
Propiedades( 1, {Color de relleno( 32 )}, ID de elemento( "02", 1 ) ),
Propiedades( 2, {Color de relleno( 32 )}, ID de elemento( "03", 1 ) ),
Propiedades( 3, {Color de relleno( 32 )}, ID de elemento( "04", 1 ) ),
Propiedades( 4, {Color de relleno( 32 )}, ID de elemento( "05", 1 ) ),
Propiedades( 5, {Color de relleno( 32 )}, ID de elemento( "06", 1 ) ),
Propiedades( 6, {Color de relleno( 32 )}, ID de elemento( "07", 1 ) )
.........>
¿Quizás puedas usar la propiedad de columna Colores de valor en la columna Sitio?

¿O desea tener el mismo color para todos los sitios? Si ese es el caso, puede crear una nueva columna con un solo valor y utilizarlo como Color en lugar de la columna Sitio
Si desea utilizar Color para obtener etiquetas significativas, pero mantener el color constante, puede usar el servidor de leyendas para asignar por lotes un color a todas las entradas:
A) a través de la GUI
seleccionar todas las entradas y asignar el color:

a través de JSL (versión 1, probada con JMP17.2):
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
gb=Graph Builder(
Variables( X( :height ), Y( :weight ), Color( :sex ) ),
Elements( Heatmap( X, Y )),
);
// talk to the legend server and batch assign a color
legend = gb << get legend server();
legenditems= (legend << get legend items)[1];
legenditems << set properties ({Fill Color( 1 )}) //bug in JMP 18
Debido a un error en JMP18, este enfoque no funciona...
B - versión 2) Como solución alternativa, puedes hablar con cada entrada individualmente y asignarle el color:
Problema con la obtención de elementos de leyenda
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
gb=Graph Builder(
Variables( X( :height ), Y( :weight ), Color( :sex ) ),
Elements( Heatmap( X, Y ,Label( "Label by Value" ))),
);
// talk to the legend server and batch assign a color
legend = gb << get legend server();
legenditems= (legend << get legend items)[1];
for(i=1, i<= Nitems(legenditems), i++,
Eval(Eval Expr(item = legend << Get Legend Item(1, Expr(i))));
item << set properties ({Fill Color( 1 )})
);
Si desea asignar diferentes colores a diferentes entradas, puede usar colores de valor (como lo sugiere @jthi ) y aplicar un tema de color:

o seleccione todas las entradas de la leyenda y asigne un tema a través del menú de clic derecho:
