Ciao a tutti,
Nel mio script attuale ho definito i singoli siti con un certo colore nella legenda, ma farlo in questo modo non verrà trasferito se i "siti" sono etichettati in modo diverso. Pensavo che forse "color cell" sarebbe in grado di cambiare tutte le celle in un colore, ma ho dei problemi.
Come si fa a scrivere un unico colore per tutte le celle?
Dimensioni (879, 653),
Mostra pannello di controllo (0),
Variabili( X( :SitoX ), Y( :SitoY ), Colore( :Sito ) ),
Elementi (Mappa termica (X, Y, Legenda (44), Etichetta ("Etichetta per valore"), Tema colore ("Solido", "grigio")) ),
Filtro dati locali (Chiudi schema (1)),
Invia a Segnalazione(
Dispatch( {}, "SiteX", ScaleBox, {Etichetta riga( Mostra griglia principale( 1 ) )} ),
Dispatch( {}, "SiteY", ScaleBox, {Etichetta riga( Mostra griglia principale( 1 ) )} ),
Invio({}, "400", ScaleBox,
{Modello leggendario(
44,
Proprietà( 0, {Colore di riempimento( 32 )}, ID elemento( "01", 1 ) ),
Proprietà( 1, {Colore di riempimento( 32 )}, ID elemento( "02", 1 ) ),
Proprietà( 2, {Colore di riempimento( 32 )}, ID elemento( "03", 1 ) ),
Proprietà( 3, {Colore di riempimento( 32 )}, ID elemento( "04", 1 ) ),
Proprietà( 4, {Colore di riempimento( 32 )}, ID elemento( "05", 1 ) ),
Proprietà( 5, {Colore di riempimento( 32 )}, ID elemento( "06", 1 ) ),
Proprietà( 6, {Colore di riempimento( 32 )}, ID elemento( "07", 1 ) )
.........>
Forse potresti usare la proprietà della colonna Colori valore nella colonna Sito?

Oppure desideri avere lo stesso colore per tutti i siti? Se è così, puoi creare una nuova colonna con un solo valore e usarla come colonna Colore invece che Sito
Se si desidera utilizzare il colore per ottenere etichette significative, mantenendo però il colore costante, è possibile utilizzare il server della legenda per assegnare in batch un colore a tutte le voci:
A) tramite la GUI
seleziona tutte le voci e assegna il colore:

tramite JSL (versione 1, testata 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
A causa di un bug in JMP18, questo approccio non funziona...
B - versione 2) Come soluzione alternativa, puoi parlare con ogni voce individualmente e assegnare il colore:
problema con gli elementi della legenda
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 )})
);
Se vuoi assegnare colori diversi a voci diverse, puoi usare i colori dei valori (come suggerito da @jthi ) e applicare un tema di colori:

oppure seleziona tutte le voci nella legenda e assegna un tema tramite il menu di scelta rapida:
