Wie visualisiert man verzerrte Daten über Hunderte von Kategorien hinweg? Ich habe mit einer neuen Diagrammform experimentiert, die dabei helfen könnte. Ich nenne es "gepackte Riegel". Es ist eine Synthese aus einem geordneten Balkendiagramm und einer Baumkarte. So sieht ein gepacktes Balkendiagramm mit aktuellen Marktkapitalisierungsdaten des S&P 500 aus.

Die blauen „primären“ Balken und die Achse bilden ein regelmäßig geordnetes Balkendiagramm, das die 12 größten Unternehmen nach Marktkapitalisierung zeigt. Jeder graue „sekundäre“ Balken repräsentiert eines der anderen Unternehmen. Einige der sekundären Balken können beschriftet werden, wenn es der Platz erlaubt, aber ihr Hauptzweck besteht darin, Kontext für die primären Balken bereitzustellen. Die Idee ist, die zu unterstützen Fokus+Kontext Prinzip der Datenvisualisierung.
Wir können uns ein ungefähres Bild davon machen, wie viele sekundäre Kategorien es gibt, wie groß ihre Gesamtgröße ist und sogar wie die Größen verteilt sind. Und da sie sich auf der gleichen Skala befinden wie die primären Balken, können wir einige der Werte sogar anhand der Länge abschätzen, die sie auf der Achse überspannen. In einer dynamischen Anzeige kann über Hover-Labels auf Kategoriebeschriftungen und Werte für sekundäre Kategorien zugegriffen werden.
Die rechte Kante kommt nicht immer so gleichmäßig heraus, aber indem man die größeren Nebenstäbe zuerst von links nach rechts platziert, funktioniert es normalerweise ziemlich gut.
Beispiele
Manchmal sind die Werte so verzerrt, dass die sekundäre Füllung die primären Balken nicht übertrifft. Das ist der Fall, wenn man die Weltwirtschaften anhand des nominalen BIP aufzeichnet. Dieses vollgepackte Balkendiagramm zeigt die Top 7 von 192 Weltwirtschaften. (Nicht ganz dasselbe wie die G7 , übrigens).

Die Auswahl von nur vier Hauptkategorien unterstreicht die Tatsache, dass die US-Wirtschaft etwa ein Viertel des nominalen BIP der Welt ausmacht.

Passt die Summe der sekundären Kategorien in die gleiche Skala wie die primären Balken, können sie so in einen separaten Balken gepackt werden.

Die Wirtschaft ist nicht die einzige Quelle für verzerrte Daten. Hier sind Nebenwirkungszahlen aus Studiendaten zu Nicardipin-Medikamenten.

Die Größe der Balken stellt die Anzahl der Vorkommen dar, und die Farbe stellt den durchschnittlichen Schweregrad dar. Die Sekundärfarben sind immer noch verblasst, um die Primärkategorien im Fokus zu halten, aber das muss nicht sein, wenn eine naturgetreuere Farbdarstellung wichtig ist.
Der Datensatz, der mich auf diesen Weg brachte, war eine Sammlung von in New York City registrierten Hundenamen. Hier ist meine Kreation, die die Top 25 von mehr als 16.000 Namen hervorhebt.

Im Gegensatz zu den anderen Beispielen für gepackte Bars wurden die sekundären Kategorien alphabetisch und Zeile für Zeile angeordnet, um das Auffinden eines bestimmten Hundenamens (mit Hilfe von Hover-Labels) zu unterstützen. Der Nachteil dieser Anordnung ist, dass der rechte Rand merklich weniger gleichmäßig ist.
Ein Vorteil einer echten x-Achse (im Gegensatz zu einer Baumkarte) ist die Möglichkeit, die Gesamtsumme für die gesamte Population zu schätzen. In diesem Fall haben wir 25 Zeilen, und jede reicht bis knapp über 4.000 auf der Zählachse. Wir können die Anzahl der Hunde auf 25 x 4.000+ = 100.000+ schätzen.
Das Nicardipin-Beispiel zeigte die Verwendung einer kontinuierlichen Farbskala für die Balken. Bei kategorischer Farbgebung erschwert das Ausbleichen die Farbinterpretation weniger. In dieser Ansicht der Hundenamen habe ich Orange für Namen verwendet, die auf ein „y“ enden.

Variationen
Ich habe mit Variationen experimentiert, und die obigen Beispiele zeigen viele davon. Beim Erstellen eines gepackten Balkendiagramms können wir zwischen den folgenden Optionen wählen:
Wie viele Reihen? Gibt es eine gute allgemeine Standardeinstellung? Eine runde Zahl wie 10 macht es einfach, den Multiplikationstrick anzuwenden, um die Gesamtsumme zu erhalten, aber das Seitenverhältnis kann wichtiger sein.
Sekundärbalken von links nach rechts nach Größe oder Zeile für Zeile alphabetisch platzieren? Von links nach rechts nach Größe bedeutet, dass die linke Randposition jedes sekundären Balkens unabhängig von der Zeile der Sortierreihenfolge nach Größe entspricht. Je größer der Balken, desto weiter links ist er. In gewissem Sinne stimmt das mit den nach Größe geordneten Primärstäben überein und hat den Vorteil einer saubereren rechten Kante. Und es kann hilfreich sein, gleiche Größen zusammenzuhalten, um die Verteilung zu verstehen. Zeile für Zeile alphabetisch ist nützlicher, um bestimmte Kategorien in einer interaktiven Anzeige zu finden. Sekundärbalken werden alphabetisch von links nach rechts platziert innerhalb jede Reihe, beginnend mit der obersten Reihe.
Einfärben von Nebenstäben? Ich habe zufällige Grautöne, verblasste Farben und True Color ausprobiert. Das Randomisieren der Grautöne macht Trennlinien überflüssig (Vermeidung aufeinanderfolgender doppelter Grautöne).
Kennzeichnung von Primärstäben? Das Platzieren der Beschriftungen auf einer Achse außerhalb des Diagrammbereichs vermeidet die Einschränkung, in den Balken zu passen. Das Platzieren der primären Beschriftungen innerhalb der Balken hilft jedoch, dies von einem gestapelten Balkendiagramm zu unterscheiden, und ist platzsparender.
Kennzeichnung von Nebenstäben? Ich habe anfangs keine sekundären Labels bevorzugt, um sie hervorzuheben Kontext Rolle, aber ein paar Labels zu haben, scheint eine große Hilfe für neue Zuschauer zu sein, die nicht ganz sicher sind, was los ist.
Separater Stapel für die Nebenstäbe? Ein Stapel „Andere“ ist möglich, wenn die Daten so verzerrt sind, dass die Summe aller sekundären Werte auf derselben Skala wie die primären Balken liegt.
Alle oder einige der sekundären Balken zu einer soliden „anderen“ Region zusammenführen? Das würde den größten Teil des Kontextaspekts beibehalten, die rechte Kante glatt machen und die Anzeige weniger laut machen. Aber es gibt einige Informationen über die Kardinalität und Verteilung der sekundären Größen.
Alternativen
Wie verhalten sich gepackte Balken im Vergleich zu alternativen Methoden zur Visualisierung verzerrter Daten mit vielen Kategorien?
- Im Vergleich zu A Balkendiagramm der Top-Kategorien erhält das gepackte Balkendiagramm den Kontext der restlichen Kategorien. Der Hauptnachteil besteht darin, dass die sekundären Balken das Diagramm vergrößern (oder die primären Balken verkleinern) und Platz beanspruchen, der für Beschriftungen oder Anmerkungen verwendet werden könnte.
- Verglichen mit Baumkarten haben gepackte Balken im Allgemeinen genauere Datendarstellungen (Balkenlängen auf einer Achse im Vergleich zu Bereichen ohne Achse), aber der größere Vorteil besteht darin, die primären Kategorien zu sehen, die auffällige Beschriftungen und achsenausgerichtete Größen erhalten. Baumkarten unterstützen jedoch Verschachtelung und echte Raumfüllung (keine gezackte rechte Kante). Und winzige Werte können in Treemaps besser dargestellt werden, in dem Sinne, dass es einfacher ist, ein 3x4-Pixel-Rechteck zu sehen als einen 1x12-Pixel-Balken. Während die Achsen in gepackten Balken Genauigkeit bringen, nehmen sie Platz ein, wodurch Baumkarten platzsparender werden.
- Verglichen mit gepackte Blasen (wie im Original-Hundenamen-Blasendiagramm ), haben gepackte Balken eine regelmäßigere Platzierung zum Scannen und den Wahrnehmungsvorteil der Länge gegenüber der Kreisfläche zum Darstellen von Datenwerten. Wie bei Treemaps sind kleine Werte jedoch möglicherweise leichter als Blasen zu erkennen (ein Kreis mit 4 Pixel Durchmesser im Vergleich zu einem 1x12 Pixel Balken).
- Im Vergleich zu A eindimensionales Streudiagramm , gepackte Riegel fügen markante, ausgerichtete Beschriftungen für die Hauptkategorien und den Sinn der kumulativen Summe hinzu. Ein Streudiagramm hat den Vorteil, dass es für alle Werte eine genaue Positionskodierung verwendet und den Größenkanal für eine andere Variable verfügbar hält; Überschlag muss jedoch mit Jitter oder Dodging begegnet werden, was bei sehr verzerrten Daten problematisch sein kann.
- Verglichen mit umwickelte Riegel , die die Balken in mehrere Spalten umstrukturieren, gepackte Balken sind platzsparender, was dazu beiträgt, mehr Kategorien zu unterstützen (1.000 statt 100), und gepackte Balken fügen ein Gefühl der Gesamtfläche hinzu. Eingewickelte Riegel Unterstützung genaueres Lesen der „sekundär“ Balkenwerte, da ihre Basen ausgerichtet sind, und gewickelte Balken sollten eine niedrigere Lernkurve haben, da sie eher wie normale Balkendiagramme aussehen.
Nachteile
Der Hauptkritikpunkt an verpackten Riegeln ist die Ähnlichkeit mit gestapelte Stangen , was zu der Annahme führt, dass die Balken in jeder Reihe miteinander verwandt sind. Ich habe die Lücken zwischen Stapeln kleiner gemacht als typisch für ein gestapeltes Balkendiagramm, um diese potenzielle Verwirrung zu verringern, aber ich bin mir nicht sicher, ob sie beseitigt werden kann. Ich hoffe, die Vorteile überwiegen diese Hürde.
Andere Nachteile sind größtenteils Kompromisse, die durch Entscheidungen in den oben aufgeführten Optionen angegangen werden könnten. Wenn zum Beispiel die zufälligen Grautöne zu störend wirken, können die sekundären Balken auf andere Weise eingefärbt oder als absichtliche Vereinfachung zusammengeführt werden.
Kommentierter Leitfaden
Dieses nächste Bild ist nicht für Sie; Es ist für diejenigen, die den Beitrag überflogen haben und nur die Bilder angesehen haben.

Probieren Sie es in JMP aus
Obwohl diese Bemühungen noch experimentell sind, habe ich ein JSL-Skript zum Erstellen der einfachsten Variante eines gepackten Balkendiagramms in beigefügt JMP . Es funktioniert, indem es zuerst die Packlogik auf die Daten anwendet und synthetische Zeilennummern- und Farbvariablen erstellt. Dann erstellt es im Graph Builder ein reguläres gestapeltes Balkendiagramm mit der Farbgebung und Anordnung eines gepackten Balkendiagramms.
Was denkst du?
Ich denke, gepackte Balken können für bestimmte Arten von Daten nützlich sein, aber mir ist klar, dass ich zu involviert bin, um objektiv zu sein. Daher erwarte ich Feedback zu allen Aspekten dieser Bemühungen: Layout, Terminologie, Beschriftung, Farben usw. Und lassen Sie es mich bitte wissen, wenn Sie Daten haben, die von diesem Display profitieren könnten – ich kann es mit meinem Prototyp für Sie ausprobieren .Ich war twittern mehr Beispiele; bei interesse schau mal Hundenamen nach Geschlecht und Produktverletzung zählt . Wenn Sie versuchen möchten, gepackte Balkendiagramme auf anderen Diagrammplattformen zu erstellen, ist das auch großartig.
Vielen Dank für einen Blick!
August 2017 aktualisiert : Zusätzlich zum beigefügten JMP-Skript gibt es jetzt ein Excel-Add-In und ein d3.js-Skript zum Erstellen gepackter Balkendiagramme. Sie sind zu finden bei der PackedBars-GitHub-Bereich . Das Add-In wurde in Zusammenarbeit mit dem Excel-Dataviz-Experten erstellt, Jon Peltier . Ein gepacktes Bars-Plakat wurde für die akzeptiert IEEE-VIS Konferenz im Oktober. Die Postereinreichung erforderte a 25-sekündiges Vorschauvideo ; Eine animierte GIF-Version mit Bildunterschriften anstelle von Audio ist angehängt.
Schön zu hören, Mark – danke! Und danke, dass Sie es mit echten Daten ausprobiert haben. Ich bin froh, dass Sie die Pareto-Anwendung und den Detail-on-Demand-Aspekt aufgegriffen haben.
Wenn Sie irgendwelche anonymisierten „geheimen Sachen“ haben, die ich verwenden kann, geben Sie sie bitte weiter – es ist immer gut, praktische Beispiele zu haben.
Übrigens habe ich eine Galerie von Diagrammen getwittert.
Leider können Sie den Balkenabstand in JMP 13 nicht ohne Weiteres steuern. Es gibt einige Tricks, wenn Sie den Effekt wirklich erzielen möchten, aber ansonsten gibt das Skript nur annähernd den gepackten Balken-Look wieder.
Ich hatte eine interessante Abfolge von Reaktionen, die diesen Beitrag durchliefen 
Meine ersten Reaktionen gingen ein paar Mal hintereinander in die Richtung von "Das ist nicht wirklich neu, wir haben das schon gemacht ... oh, warte, nein, das ist anders ...".
Ich denke, dass diese Technik viel Potenzial für große, geordnete Datensätze hat. Es scheint mir, dass alle Mängel, die es hat, bereits in Baumkarten enthalten sind und dass diese Technik diese Mängel verbessert.
Ich denke, das Verwirrungspotential ist zunächst hoch. Dem Publikum den Unterschied zwischen diesem und einer Baumkarte oder diesem und einem gestapelten Balken verständlich zu machen, kann in manchen Fällen eine Herausforderung sein.
Aber ich denke, es lohnt sich, es zu erkunden, und ich würde meine Daten *viel* lieber in diesem Format darstellen als in einer Standard-Baumkarte.
Gute Arbeit.