Auf meiner Suche nach Außerirdischen in BigClass möchte ich heute einen Heatmap-Plot erstellen, um die Außerirdischen auf einen Blick anzuzeigen.
Die Idee: Färben Sie die Nicht-Alien-Schüler grün und die Außerirdischen rot.
Aber bei mehreren Nicht-Aliens derselben Altersgruppe ist das Alien-Rot nur leicht sichtbar:

Nächste Idee:
Erhöhen wir die Transparenz für Nicht-Außerirdische, sodass Altersgruppen mit Außerirdischen darin gut sichtbar werden.
Ich habe erwartet, dass solche Zellen rot werden (mit etwas grünlichem Schimmer) – aber sie sind ziemlich grün, nicht rot.
Scheint, dass Transparenz für verschiedene Farben nicht separat behandelt wird, aber gemischt ebenfalls auftragen und dann auf die angemischte Farbe auftragen.
Also 5 % Grün + 100 % Rot ergeben

letzter Versuch:
Ändern Sie den Datentyp und verwenden Sie die maximale Zusammenfassungsstatistik:

Manchmal ist es einfacher, von Zeichen zu Zahlen zu wechseln, wenn Sie aggregieren möchten – wie hier.
Aber auch die Aggregation von Zeichenwerten bietet einiges Potenzial:
Zusammenfassung und Tabellierung: Aggregationsoption für Zeichenspalten hinzufügen
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 ) )
)}
)
)
)