<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Kaiser Fung kürzlich kritisiert dieses Diagramm der Veränderungen des verfügbaren Einkommens.

Er brachte die Idee vor, stattdessen kategorisierte Steigungsdiagramme zu verwenden:

Wie machen wir so etwas in JMP? Wir können Panels und Linien mit variabler Farbe im Graph Builder erstellen; wir müssen nur die Daten in die richtige Form bringen. Wie üblich besteht ein wichtiger Schritt beim Erstellen eines Steigungsdiagramms im Graph Builder darin, Tabelle > Stapel zu verwenden, um die beiden Datenspalten in eine Spalte mit Beschriftungen und eine Spalte mit Daten zu bringen. Dann geht die Beschriftungsspalte auf die X-Achse und die Datenspalte auf die Y-Achse.
Zuerst müssen wir die Daten abrufen. Manchmal, wenn ich ein schnelles Remake mache, ist es am einfachsten, die Daten direkt aus dem Diagramm abzulesen. Es gibt Programme und Websites, die dabei helfen. Diesmal habe ich die Online-App verwendet, Digitalisierer für Webplots , wodurch für jede Serie eine separate CSV-Datei erstellt wurde. Die Werte sind natürlich nur Schätzungen der Originalwerte.
Nachdem ich die beiden CSV-Dateien geöffnet und die Spaltennamen auf „x“ und „y“ gesetzt hatte, schrieb ich das folgende Skript, um sie zu kombinieren und einige abgeleitete Werte zu berechnen.
dt1 = Data Table( "data" );
dt2 = Data Table( "data (1)" );
dt = New Table( "changes",
New Column( "Percentile", Format( "Percent", 8, 0 ), Set Values( (1 :: 100) / 100 ) ),
New Column( "Base", Format( "Percent", 8, 1 ) ),
New Column( "Change2010", Format( "Percent", 8, 1 ) ),
New Column( "Change2013", Format( "Percent", 8, 1 ) ),
New Column( "Net2010", Format( "Percent", 8, 1 ) ),
New Column( "Net2013", Format( "Percent", 8, 1 ) ),
New Column( "Group", Character ),
New Column( "Rank" )
);
For Each Row(
dt,
dt:Base = 1.0;
dt:Change2010 = Interpolate( dt:Percentile, dt2:x << Get Values(), dt2:y << Get Values );
dt:Change2013 = Interpolate( dt:Percentile, dt1:x << Get Values(), dt1:y << Get Values );
dt:Net2010 = dt:Base * (1 + dt:Change2010);
dt:Net2013 = dt:Net2010 * (1 + dt:Change2013);
dt:Group = If(
dt:Percentile <= 0.1, "Bottom 10%",
dt:Percentile <= 0.9, "Middle 80%",
"Top 10%"
);
dt:Rank = If(
dt:Percentile <= 0.1, dt:Percentile / .1,
dt:Percentile <= 0.9, (dt:Percentile - .1) / .8,
(dt:Percentile - .9) / .1
);
);
Die Interpolation dient dazu, die „x“-Werte auf gerade Perzentilwerte auszurichten. Die Gruppe und der Rang steuern, wie wir im Graph Builder gruppieren und färben. Die Basis- und Nettowerte sind, weil ich etwas anderes ausprobieren wollte als Kaiser. Es reicht nicht aus, nur die Verlust- und Gewinnprozentsätze zu sehen, um den Nettoeffekt zu sehen, also berechne ich explizit den Nettoeffekt und zeichne diese stattdessen grafisch auf.
Nachdem ich die drei Säulen Base2007, Net2010 und Net2013 gestapelt habe, kann ich das Liniendiagramm erstellen. Ich habe Group in die Group X-Rolle und Rank in die Color-Rolle versetzt, eine Referenzlinie bei 100 % hinzugefügt und die Beschriftungen aktualisiert.

Ich habe gerade festgestellt, dass ich zwar den Basiswert für die Berechnungen benötige, ihn aber nicht wirklich anzeigen muss. Nachdem ich einen lokalen Datenfilter verwendet habe, um Base2007 auszuschließen, und dem Beispiel von Kaiser gefolgt bin, um die mittlere Gruppe auszudünnen, erhalte ich:

Die endgültige Datentabelle ist beigefügt.
Aktualisieren : Wie Kaiser in der betont Twitter-Gespräch , ist es nicht unbedingt korrekt, die Nettowerte zu berechnen, da wir nicht wissen, ob in jeder Perzentilgruppe für jeden Zeitraum dieselben Personen vorhanden sind. Glücklicherweise sind die Änderungen weitgehend einheitlich, sodass sich die Perzentile wahrscheinlich nicht zu stark ändern, aber das Diagramm wird noch mehr zu einer Annäherung, als es ohnehin schon war.
Wenn Sie Steigungsdiagramme nachbilden oder Änderungen des verfügbaren Einkommens wie besprochen analysieren möchten, kann der Online-Plot-Digitalisierer unglaublich nützlich sein. Er ermöglicht Ihnen, Daten direkt aus Diagrammbildern zu extrahieren, was Genauigkeit gewährleistet und Zeit spart. Dies kann Ihnen helfen, Datensätze schnell für die Visualisierung in JMP oder anderen Tools vorzubereiten und den Prozess der Ausrichtung und Interpretation von Daten für aussagekräftige Erkenntnisse zu optimieren. Es ist ein leistungsstarker Begleiter für Aufgaben wie die Visualisierung von Trends oder die Erstellung von Steigungsdiagrammen ähnlich dem Beispiel von Kaiser.