Heatmap-Overlay aus mehreren VariablenIch sammle eine Antwort vom MxN-Sensor. Die Daten werden als Tabelle mit mehreren Variablen geliefert, die in den einzelnen Spalten ParamA, ParamB und ParamC gespeichert sind.
TLDR: Ich möchte rechts in der Skizze unten zwei Heatmaps erhalten.

In der ersten Anwendung möchte ich eine Heatmap darstellen, die sich aus der Überlagerung zweier logischer Variablen ergibt, d. h. ParamA=1 als Blau, ParamB=1 als Rot, ParamA=1&ParamB=1 als Magenta.
In der zweiten Anwendung möchte ich eine Heatmap der kontinuierlichen Variable ParamC (als Füllfarbe) mit einer Heatmap der logischen Variable ParamA (als Füllmuster) überlagern.
Ich möchte die Berechnung einer separaten Spalte für diese Karten vermeiden, da die tatsächlichen Daten Dutzende von Variablen enthalten, was zu vielen Permutationen führt. Idealerweise würde ich eine Lösung von Graph Builder ohne Skripting verwenden.
Ich verwende JMP 18.1.1.
Datenexploration und -visualisierungBetreff: Heatmap-Overlay aus mehreren VariablenIch glaube, Sie haben zwei Möglichkeiten: Sie können die Daten in der Datentabellenmanipulation erstellen und dann mit Graph Builder anzeigen oder die Grafikfunktionen von JSL verwenden, um Ihre eigene Anzeige in einer Graphbox() zu erstellen, die die gewünschten Ergebnisse erzeugt.
Betreff: Heatmap-Overlay aus mehreren VariablenMein Vorschlag ist, zwei Heatmaps im Graph Builder-Fenster übereinander zu legen.
Wählen Sie die beiden Spalten aus, nach denen Sie die Farbe festlegen möchten, und ziehen Sie sie in die gewünschte Farbrolle. Beispiel:

Klicken Sie anschließend mit der rechten Maustaste auf eine beliebige Stelle im Heatmap-Diagramm und wählen Sie „Hinzufügen > Heatmap“. Sie haben nun zwei duplizierte Heatmaps, jeweils mit beiden Parametern in der Farbrolle. Deaktivieren Sie unter „Variablen“ einen Parameter in der Farbzuweisung jeder Heatmap, sodass jede Heatmap nur entsprechend diesem Parameter eingefärbt wird. Beispiel:

Ändern Sie abschließend die Farbe oder Musterkodierung jedes Parameters nach Wunsch. Beachten Sie, dass die Heatmap am Ende dieser Liste oben in der Grafik angezeigt wird. (Hinweis: Ohne Skripting können meines Erachtens nur zwei Parameter überlagert werden. Wenn Sie das Skript jedoch bearbeiten, können Sie alle drei hinzufügen und diese Methode verallgemeinern, um mehr als zwei Heatmaps zu überlagern.)
Hier ist ein Skript für Beispiel 1:
Mehr anzeigen...
Graph Builder(
Size( 518, 448 ),
Show Control Panel( 0 ),
Variables( X( :col ), Y( :row ), Color( :ParamA ), Color( :ParamB ) ),
Elements(
Heatmap( X, Y, Color( 2 ), Legend( 5 ) ),
Heatmap( X, Y, Color( 1 ), Legend( 6 ) )
),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model(
5,
Properties( 0, {Transparency( 0 )}, Item ID( "0", 1 ) ),
Properties( 1, {Transparency( 0.5 )}, Item ID( "1", 1 ) )
), Legend Model(
6,
Properties( 0, {Transparency( 0 )}, Item ID( "0", 1 ) ),
Properties( 1, {Transparency( 0.5 )}, Item ID( "1", 1 ) )
)}
)
)
);
Hier ist ein Skript für Beispiel 2:
Mehr anzeigen...
Graph Builder(
Size( 518, 448 ),
Show Control Panel( 0 ),
Variables( X( :col ), Y( :row ), Color( :ParamC ), Color( :ParamA ) ),
Elements(
Heatmap( X, Y, Color( 1 ), Legend( 14 ) ),
Heatmap( X, Y, Color( 2 ), Legend( 15 ) )
),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model(
15,
Properties( 0, {Transparency( 0 )}, Item ID( "0", 1 ) ),
Properties(
1,
{Fill Color( 0 ), Fill Pattern( "triangle up" )},
Item ID( "1", 1 )
),
Properties(
-1,
{Fill Color( 0 ), Fill Pattern( "triangle left" )},
Item ID( "-1", 1 )
)
)}
)
)
);
Betreff: Heatmap-Overlay aus mehreren VariablenSie könnten erwägen, die Heatmap mit einem Punktediagramm zu kombinieren.
dann sind die Daten bereit für die Verarbeitung im menschlichen Auge – und die Co-Verarbeitung durch das menschliche Gehirn kann reduziert werden.
Betreff: Heatmap-Overlay aus mehreren VariablenHallo Christian-Z, danke, das ist genau das, wonach ich gesucht habe!
Bei der ersten Anwendung konnte ich zwei Parametern unterschiedliche Farben zuweisen, nachdem ich ihre Einträge in den Legendeneinstellungen aktiviert hatte (Graph Builder hat die Legendeneinträge für den zweiten Parameter standardmäßig ausgeblendet, wahrscheinlich weil ParamA und ParamB beide nur dieselben Werte 0 und 1 annehmen):

Für die zweite Anwendung ist es mit zwei Legenden unkompliziert:

Betreff: Heatmap-Overlay aus mehreren VariablenHallo,
Dies ist auch eine interessante Lösung für Anwendung Nr. 2. Ich muss lediglich sicherstellen, dass die Farbe des ParamA-Markers immer über dem Farbbereich von ParamC sichtbar ist:
