Nella mia ricerca di alieni in BigClass, oggi voglio generare un grafico heatmap per mostrare gli alieni a colpo d'occhio.
L'idea: colorare di verde gli studenti non alieni e di rosso gli alieni.
Ma con diversi non alieni nella stessa fascia di età, il rosso alieno è appena visibile:

Prossima idea:
Aumentiamo la trasparenza per i non alieni in modo tale che i gruppi di età con alieni all'interno diventino ben visibili.
Mi aspettavo che tali cellule diventassero rosse (con un tocco verdastro), ma sono piuttosto verdi, non rosse.
Sembra che la trasparenza non sia trattata separatamente per colori diversi, ma misto pure e poi applicato al colore misto.
Quindi, 5% verde + 100% rosso dà

ultimo tentativo:
modificare il tipo di dati e utilizzare Statistiche di riepilogo massime:

A volte è più facile passare dal carattere ai numeri, se vuoi aggregare, come qui.
Ma l'aggregazione dei valori dei caratteri ha anche qualche potenziale:
Riepilogo e tabella: aggiungi l'opzione di aggregazione per le colonne di caratteri
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "alien", Character,nominal, set each value( "-" ) );
dt << add rows( {name = "XX", alien = "alien", sex = "M", age = 15} );
dt << add rows( {name = "YZ", alien = "alien", sex = "F", age = 12} );
dt << add rows( {name = "KR", alien = "alien", sex = "F", age = 17} );
// first attempt
dt << Graph Builder(
Variables( X( :sex ), Y( :age ), Color( :alien ) ),
Elements( Heatmap( X, Y, Legend( 10 ) ) ),
SendToReport(
Dispatch({},"400",ScaleBox,
{Legend Model( 10, Properties( 0, {Fill Color( 36 )}, Item ID( "-", 1 ) ) )}
)
)
);
// second attempt: increase transparency for non-aliens
dt << Graph Builder(
Variables( X( :sex ), Y( :age ), Color( :alien ) ),
Elements( Heatmap( X, Y, Legend( 10 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model( 10, Properties( 0, {Fill Color( 36 ), Transparency( 0.05 )}, Item ID( "-", 1 ) ) )}
)
)
);
// 3rd attempt: aggregate
Graph Builder(
Variables(
X( :sex ),
Y( :age ),
Color( :alien_num, Summary Statistic( "Max" ) )
),
Elements( Heatmap( X, Y, Legend( 10 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
10,
Properties( 0, {Fill Color( 36 )}, Item ID( "0", 1 ) )
)}
)
)
)