Sankey-Plot-FarbzuweisungHallo JMP-Community,
Haben Sie Erfahrung mit der Farbzuweisung für alle Sequenzen in einem Sankey-Diagramm mit der GLEICHEN Farbkategorie? Die Herausforderung bestand darin, dass jede Sequenz eine andere Farbkategorie hatte. Dadurch war es schwierig, die Änderung der Elemente von Sequenz 1 zu 2... zu n mit derselben zugewiesenen Farbe zu verfolgen.
Vielen Dank!
Grundlegende Datenanalyse und -modellierungDatenexploration und -visualisierungWindowsBetreff: Sankey-Plot-FarbzuweisungHallo @qunw ,
Willkommen in der Community!
Ich denke, dass ein Parallelkoordinatendiagramm mit der Farbcodierung nach Kategorien für Ihr Ziel hilfreich sein könnte. Weitere Informationen finden Sie hier: https://www.jmp.com/support/help/en/18.2/#page/jmp/parallel-plots.shtml
Sie können auch das von @jthi erstellte Enhanced Sankey Plot (ESP) überprüfen: https://community.jmp.com/t5/JMP-Add-Ins/Enhanced-Sankey-Plot-ESP/ta-p/549745
Ich hoffe, diese Optionen helfen Ihnen,
Betreff: Sankey-Plot-FarbzuweisungHallo @qunw , könnten Sie bitte ein (anonymisiertes) Beispiel für das bei Ihnen aufgetretene Problem posten?
Ich persönlich wünschte, ich könnte Sankey-Diagramme verwenden, um Zustandsänderungen – von „Eigenschaften“ – während eines Prozessablaufs zu überwachen.
zB mit unterschiedlichen Bestehens- und Nichtbestehenskategorien.
In einem Sankey-Diagramm gibt die Farbe nicht den Wert pro Kategorie an, sondern „Gruppen“. (Rot auf der linken Seite des Diagramms sind dieselben Zeilen der Datentabelle wie Rot auf der rechten Seite – überall sonst im Diagramm.) Ist das, was Sie mit „ jede Sequenz hatte eine andere Farbkategorie “ beschreiben?
Als Konsequenz kann im folgenden Beispiel beispielsweise Blau links 0 und Blau in der Mitte und rechts „sein“:

Andererseits macht es aufgrund der Funktionsweise des Plots keinen Sinn, allen „1“ die gleiche Farbe zu geben.
Aber wie „findet“ man die Einsen in einem komplizierten Sankey-Diagramm?
Wenn sie nicht die gleiche Farbe haben?
Leider: NUR NACH DEN ETIKETTEN !
Und wie findet man „Zustands“-Änderungen – z. B. von 0 auf 1. -> „mit bloßem Auge“ nahezu unmöglich – es funktioniert nur bei starker Belastung des Gehirn-Coprozessors:
Unterschied zu einem Sankey-Diagramm für kontinuierliche Werte:

... bei Spalten mit nominalem Modellierungstyp kann derselbe Wert an ziemlich unterschiedlichen Positionen entlang der Y-Achse liegen.
Dies macht es sehr schwierig, „Zustands“-Änderungen für Sankey-Diagramme mit Nominalwerten zu erkennen.
Es könnte eine Option geben, vom Nominalmodus in einen quasi-kontinuierlichen Modus umzuschalten – mit gleichen Werten auf gleicher Höhe – aber mit der coolen Zusatzfunktion, die „Population“ anhand der Breite der „Röhren“ zu verfolgen.
Es besteht der Wunsch, diesen Modus zu aktivieren: Parallel Plot: synchronisierte Achsen
Die Problemumgehung im Moment:
Verwenden Sie (pseudo-)kontinuierliche Werte.
Betreff: Sankey-Plot-FarbzuweisungNeben der Benutzerfreundlichkeit gibt es auch einen ästhetischen Aspekt:
warum neigen sich Spareinlagen , Eigenheime und andere nach oben – warum bleiben sie nicht auf einer Höhe?
Unten rechts ist ausreichend (leerer) Platz:

Betreff: Sankey-Plot-FarbzuweisungDanke, Victor, für deine Hinweise! Ich habe das Parallelkoordinatendiagramm für das Sankey-Diagramm der Patientenbehandlungsprofilierung verwendet, und es ist eine Herausforderung, denselben Behandlungsschemata in der Behandlungssequenz dieselben Farben zuzuordnen. Die beiden Beispiele in der Anleitung zum Paralleldiagramm entsprechen nicht genau meinem Fall. Möglicherweise ist zusätzliche Codierung erforderlich, um die Farbeinstellung über die Behandlungen hinweg zu synchronisieren.
Betreff: Sankey-Plot-FarbzuweisungVielen Dank, Hogi, für deine Hilfe bei dieser Anfrage und die Beispiele! Ich habe das Sankey-Diagramm zur Patientenbehandlungsprofilierung verwendet und versucht, den gleichen Behandlungsschemata in der Behandlungssequenz die gleichen Farben zuzuordnen. Mein Fall ähnelt deinem Beispiel sehr. Du hattest Recht mit meiner Beschreibung, dass „jede Sequenz eine andere Farbkategorie hatte“. Die „Werte 1, 2 und 3“ auf der X-Achse stehen für „Behandlung 1, 2 und 3“ und die „Werte 0, 1, 2“ für die Behandlungsschemata pro Behandlung. Ich möchte die Farbeinstellungen von 0, 1 und 2 in jedem „Wert 1, 2 und 3“ synchronisieren , wobei „1“ rot, „2“ grün und „0“ blau über die Werte 1, 2 und 3 hinweg ist. Das hilft, den Behandlungsverlauf der Patienten zu verstehen. Bitte lass es mich wissen, wenn du eine Lösung dafür hast – vielen Dank.

Betreff: Sankey-Plot-FarbzuweisungIch habe dieses Diagramm aus einem Community-Beitrag gelernt, der eine andere Möglichkeit zur Visualisierung einer verwandten Frage bot, beispielsweise die Verfolgung der Diversität der einzelnen Behandlungsschemata in der Erstbehandlung und den Folgebehandlungen. Ich habe eine Möglichkeit gefunden, es zu generieren, indem ich jeden Wert in den folgenden Abflüssen mit dem Wert in Abfluss 1 als Präfix beschrifte, wenn sie vom gleichen Wert in Abfluss 1 stammen, z. B. „Auto“, „Haus“, „Steuern“ usw. Dies erfordert eine gewisse Datenvorverarbeitung. Ich hoffe, Sie kennen eine bessere Möglichkeit. Vielen Dank!
Betreff: Sankey-Plot-Farbzuweisung
@qunw schrieb:
Ich möchte die Farbeinstellung von 0, 1 und 2 in jedem „Wert 1, 2 und 3“ synchronisieren , wobei „1“ Rot, „2“ Grün und „0“ Blau über die Werte 1, 2 und 3 ist.
Ok, verstanden.
Ich fürchte, dies ist über den Sankey-Plot nicht möglich (und auch nicht beabsichtigt).
Betreff: Sankey-Plot-FarbzuweisungIn GraphBuilder können Farben über Zeilenzustände oder die Farb-Dropzone zugewiesen werden.
In beiden Fällen wird die Farbe „zeilenweise“ definiert.
Wenn Sie im Diagramm eine Trajektorie auswählen, wird daher eine bestimmte Zeile ausgewählt. Die Farbe der Trajektorie wird durch die Farbe dieser Zeile definiert. Eine Trajektorie, eine Farbe.

Mehr anzeigen...
New Table( "treatment",
Add Rows( 9 ),
New Column( "patient",
Character,
Set Values(
{"V1_0", "V1_1", "V1_2", "V1_3", "V1_4", "V1_5", "V1_6", "V1_7", "V1_8"}
)
),
New Column( "treatment 1",
"Nominal",
Set Values( [1, 1, 1, 2, 2, 2, 3, 3, 3] )
),
New Column( "treatment 2",
"Nominal",
Set Values( [1, 2, 3, 1, 2, 3, 1, 2, 3] )
),
New Column( "treatment 3",
"Nominal",
Set Values( [1, 1, 2, 1, 2, 3, 3, 3, 3] )
)
)
Betreff: Sankey-Plot-FarbzuweisungUm unterschiedliche Farben für dieselbe Zeile zu erhalten, muss man Skripte verwenden – oder die Zeile aufteilen.
Teilen Sie die Zeile: Stapeln Sie die Tabelle:
current data table << Stack( columns( :treatment 1, :treatment 2, :treatment 3 ));
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :Label ), Y( :patient ), Color( :Data ) ),
Elements( Heatmap( X, Y, Legend( 4 ) ) )
);

Betreff: Sankey-Plot-FarbzuweisungDas Heatmap-Diagramm enthält alle Informationen – aber: Es ist überraschend, wie viele Co-Processing-Prozesse das menschliche Gehirn benötigt, um es zu „verstehen“.
Näher am Sankey-Diagramm – mit durch Farbe UND Position entlang der Y-Achse angezeigter Behandlung.
-> weniger Coprocessing erforderlich – die Informationen sind mit bloßem Auge viel leichter zu erkennen.

Noch näher an Sankey – mit allen Flugbahnen in einem Diagramm,
Das Diagramm wird sehr unübersichtlich und es ist nicht mehr möglich, bestimmten Trajektorien zu folgen.

Betreff: Sankey-Plot-FarbzuweisungSie haben vollkommen recht!
Betreff: Sankey-Plot-FarbzuweisungWirklich. Ein Sankey-Diagramm wäre immer noch die beste Visualisierung für die Profilverfolgung.
Betreff: Sankey-Plot-FarbzuweisungWie wäre es mit dem Vorschlag in Parallel Plot: synchronisierte Achsen ?
Verwenden Sie dieselbe „Y“-Position, um denselben „Wert“ zu identifizieren.
Diese Option ist bereits für Stützen mit dem Modellierungstyp „kontinuierlich“ (nicht nominal) verfügbar.
Man kann die Linienbreite anpassen, um ein besser aussehendes Diagramm zu erhalten.
Leider besteht keine Möglichkeit, die Linienbreite zur Darstellung des Anteils/der Bevölkerung zu verwenden.
Farbe kann verwendet werden, um eine andere Art von Informationen zu identifizieren:
Erstbehandlung:

Anzahl verschiedener Behandlungen:

dt = New Table( "treatment",
Add Rows( 9 ),
New Column( "patient",
Character,
Set Values(
{"V1_0", "V1_1", "V1_2", "V1_3", "V1_4", "V1_5", "V1_6", "V1_7", "V1_8"}
)
),
New Column( "treatment 1",
//"Nominal",
Set Values( [1, 1, 1, 2, 2, 2, 3, 3, 3] )
),
New Column( "treatment 2",
//"Nominal",
Set Values( [1, 2, 3, 1, 2, 3, 1, 2, 3] )
),
New Column( "treatment 3",
//"Nominal",
Set Values( [1, 1, 2, 1, 2, 3, 3, 3, 3] )
)
);
//this functionality is only available for scripters.<BR />//via the GUI, a user can create the equation manually
dt << New Formula Column(
Operation( Category( "Character" ), "Concatenate with Underscore" ),
Columns( :treatment 1, :treatment 2, :treatment 3 )
) << Run Formulas;
Graph Builder(
Size( 568, 240 ),
Show Control Panel( 0 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables(
X( :treatment 1 ),
X( :treatment 2, Position( 1 ) ),
X( :treatment 3, Position( 1 ) ),
Color( :"Concatenate[treatment 1,treatment 2,treatment 3]"n )
),
Elements(
Parallel( X( 1 ), X( 2 ), X( 3 ) )
)
);