Wie visualisieren Sie 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 vollgepacktes Balkendiagramm mit aktuellen Daten zur Marktkapitalisierung 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. Wenn es der Platz zulässt, können einige der sekundären Balken beschriftet werden, ihr Hauptzweck besteht jedoch darin, den Kontext für die primären Balken bereitzustellen. Die Idee ist, die zu unterstützen Fokus+Kontext Prinzip der Datenvisualisierung.
Wir können einen ungefähren Eindruck davon bekommen, wie viele sekundäre Kategorien es gibt, wie groß ihre Gesamtgröße ist und sogar wie die Größen verteilt sind. Und da sie im gleichen Maßstab wie die Primärbalken liegen, können wir einige Werte sogar anhand der Länge abschätzen, die sie auf der Achse abdecken. In einer dynamischen Anzeige können Kategoriebeschriftungen und Werte für sekundäre Kategorien über Hover-Beschriftungen aufgerufen werden.
Der rechte Rand ist nicht immer so gleichmäßig, aber wenn man die größeren Nebenstäbe zuerst von links nach rechts platziert, klappt das meist ganz 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 Weltwirtschaft anhand des nominalen BIP darstellt. Dieses vollgepackte Balkendiagramm zeigt die Top 7 von 192 Volkswirtschaften der Welt. (Nicht ganz dasselbe wie das G7 , Übrigens).

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

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

Die Wirtschaft ist nicht die einzige Quelle verzerrter Daten. Hier finden Sie die Anzahl der Nebenwirkungen aus Studiendaten zu Nicardipin-Arzneimitteln.

Die Größe der Balken stellt die Anzahl der Vorkommnisse dar und die Farbe den durchschnittlichen Schweregrad. Die Sekundärfarben werden immer noch ausgeblendet, um die primären Kategorien im Fokus zu halten. Dies muss jedoch nicht sein, wenn eine realistischere 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 vollgepackte Balken wurden die sekundären Kategorien alphabetisch und Zeile für Zeile angeordnet, um das Nachschlagen eines bestimmten Hundenamens zu erleichtern (mit Hilfe von Hover-Labels). Der Nachteil dieser Anordnung ist, dass die rechte Kante deutlich 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 abzuschätzen. In diesem Fall haben wir 25 Zeilen und jede geht auf der Zählachse auf knapp über 4.000. 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 kategorialer Farbgebung ist es weniger wahrscheinlich, dass das Ausbleichen die Farbinterpretation erschwert. In dieser Ansicht der Hundenamen habe ich Orange für Namen verwendet, die mit einem „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 Vorgabe? Eine runde Zahl wie 10 macht es einfacher, den Multiplikationstrick anzuwenden, um die Gesamtsumme zu erhalten, aber das Seitenverhältnis kann wichtiger sein.
Sekundäre Balken von links nach rechts nach Größe oder Zeile für Zeile alphabetisch platzieren? Die Reihenfolge 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. Die zeilenweise alphabetische Sortierung eignet sich besser zum Auffinden bestimmter Kategorien in einer interaktiven Anzeige. Sekundäre Balken werden alphabetisch von links nach rechts platziert innerhalb jede Reihe, beginnend mit der obersten Reihe.
Einfärbung von Sekundärstäben? Ich habe zufällige Grautöne, verblasste Farben und echte Farben ausprobiert. Durch die Randomisierung der Grautöne werden Trennlinien überflüssig (wodurch aufeinanderfolgende doppelte Grautöne vermieden werden).
Beschriftung von Primärstäben? Wenn Sie die Beschriftungen auf einer Achse außerhalb des Diagrammbereichs platzieren, vermeiden Sie die Einschränkung, dass sie innerhalb des Balkens eingepasst werden müssen. Die Platzierung der primären Beschriftungen innerhalb der Balken erleichtert jedoch die Unterscheidung von einem gestapelten Balkendiagramm und ist platzsparender.
Beschriftung von Nebenstäben? Ich habe es zunächst vorgezogen, keine Zweitbezeichnungen zu verwenden, um sie hervorzuheben Kontext Rolle, aber ein paar Labels scheinen eine große Hilfe für neue Zuschauer zu sein, die nicht ganz sicher sind, was los ist.
Separater Stapel für die Sekundärstäbe? Ein „Anderer“-Stapel ist möglich, wenn die Daten so verzerrt sind, dass die Summe aller sekundären Werte im gleichen Maßstab wie die primären Balken liegt.
Alle oder einige der sekundären Balken zu einem festen „anderen“ Bereich zusammenführen? Das würde den Großteil des Kontextaspekts beibehalten, den rechten Rand glatt machen und die Anzeige weniger verrauschen. Es gibt jedoch einige Informationen über die Kardinalität und Verteilung der Sekundärgrößen preis.
Alternativen
Wie schneiden gepackte Balken im Vergleich zu alternativen Methoden zur Visualisierung verzerrter Daten mit vielen Kategorien ab?
- Im Vergleich zu einem Balkendiagramm Bei den Top-Kategorien erhält das gepackte Balkendiagramm den Kontext der übrigen 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.
- Im Vergleich zu Baumkarten Gepackte Balken verfügen im Allgemeinen über genauere Datendarstellungen (Balkenlängen auf einer Achse im Vergleich zu Flächen ohne Achse), aber der größere Vorteil besteht darin, dass die primären Kategorien angezeigt werden, die auffällige Beschriftungen und an der Achse ausgerichtete Größen erhalten. Baumkarten unterstützen jedoch die Verschachtelung und echte Raumfüllung (keine gezackte rechte Kante). Und winzige Werte werden in Baumkarten möglicherweise besser dargestellt, da ein 3x4-Pixel-Rechteck besser zu erkennen ist als ein 1x12-Pixel-Balken. Die Achsen in gepackten Balken sorgen zwar für Genauigkeit, beanspruchen jedoch Platz, wodurch Baumkarten platzsparender werden.
- Im Vergleich zu gepackte Blasen (wie in der Original-Hundenamen-Blasendiagramm ), haben gepackte Balken eine regelmäßigere Platzierung zum Scannen und den Wahrnehmungsvorteil der Länge gegenüber der Kreisfläche zur Darstellung von Datenwerten. Wie bei Baumkarten sind winzige Werte jedoch möglicherweise leichter als Blasen zu erkennen (ein Kreis mit 4 Pixel Durchmesser im Vergleich zu einem Balken mit 1 x 12 Pixeln).
- Im Vergleich zu einem eindimensionales Streudiagramm gepackte Balken fügen markante, ausgerichtete Beschriftungen für die Hauptkategorien und den Sinn der kumulativen Summe hinzu. Ein Streudiagramm hat den Vorteil, dass es eine genaue Positionskodierung für alle Werte verwendet und den Größenkanal für eine andere Variable verfügbar hält; Überschreiben muss jedoch mit Jitter oder Ausweichen bekämpft werden, was bei sehr verzerrten Daten problematisch sein kann.
- Im Vergleich zu eingewickelte Riegel , die die Balken in mehrere Spalten umorganisiert, gepackte Balken sind platzsparender, was dabei hilft, mehr Kategorien zu unterstützen (1.000er statt 100er), und gepackte Balken vermitteln ein Gefühl der Gesamtfläche. Eingewickelte Riegel unterstützen ein genaueres Ablesen der „sekundär“ Balkenwerte, da ihre Basen ausgerichtet sind, und umschlossene Balken sollten eine geringere Lernkurve aufweisen, 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 in Beziehung stehen. Ich habe die Lücken zwischen den Stapeln kleiner gemacht, als es für ein gestapeltes Balkendiagramm üblich ist, um diese potenzielle Verwirrung zu reduzieren, bin mir aber nicht sicher, ob sie beseitigt werden kann. Ich hoffe, dass die Vorteile diese Hürde überwiegen.
Andere Nachteile sind größtenteils Kompromisse, die durch die Auswahl der oben aufgeführten Optionen behoben werden könnten. Wenn beispielsweise die zufälligen Grautöne zu ablenkend wirken, können die sekundären Balken auf andere Weise eingefärbt oder als bewusste Vereinfachung zusammengeführt werden.
Kommentierter Leitfaden
Dieses nächste Bild ist nicht für Sie; Es ist für diejenigen gedacht, die den Beitrag nur überflogen und sich nur die Bilder angesehen haben.

Probieren Sie es in JMP aus
Obwohl dieser Versuch noch experimentell ist, habe ich ein JSL-Skript zum Erstellen der einfachsten Variante eines gepackten Balkendiagramms angehängt JMP . Dabei wird zunächst die Packlogik auf die Daten angewendet und synthetische Zeilennummern- und Farbvariablen erstellt. Anschließend wird im Graph Builder ein regelmäßiges gestapeltes Balkendiagramm mit der Farbgebung und Anordnung eines gepackten Balkendiagramms erstellt.
Was denken Sie?
Ich denke, gepackte Balken können für bestimmte Datentypen nützlich sein, aber mir ist klar, dass ich zu involviert bin, um objektiv zu sein. Deshalb bin ich auf der Suche nach Feedback zu allen Aspekten dieser Bemühungen: Layout, Terminologie, Beschriftung, Farben usw. Und lassen Sie mich bitte wissen, ob Sie Daten haben, die von dieser Anzeige profitieren könnten – ich kann sie anhand meines Prototyps für Sie ausprobieren .Ich war twittern mehr Beispiele; Wenn Sie interessiert sind, schauen Sie vorbei Hundenamen nach Geschlecht Und Produktschäden zählen . Wenn Sie versuchen möchten, komprimierte Balkendiagramme auf anderen Diagrammplattformen zu erstellen, ist das auch großartig.
Vielen Dank für Ihren Blick!
Aktualisierungen August 2017 : Zusätzlich zum beigefügten JMP-Skript gibt es jetzt ein Excel-Add-In und ein d3.js-Skript zum Erstellen gepackter Balkendiagramme. Sie finden sie im Packedbars Github-Bereich . Das Add-in wurde in Zusammenarbeit mit dem Excel-Dataviz-Experten erstellt. Jon Peltier . Ein Plakat mit gepackten Riegeln wurde dafür angenommen IEEE VIS Konferenz im Oktober. Die Postereinreichung erforderte a 25-sekündiges Vorschauvideo ; Eine animierte GIF-Version mit Untertiteln anstelle von Audio ist beigefügt.
Schön zu hören, Mark – danke! Und vielen Dank, dass Sie es mit echten Daten ausprobiert haben. Ich freue mich, dass Sie die Pareto-Anwendung und den Aspekt der Details-on-Demand aufgegriffen haben.
Wenn Sie anonymisierte „geheime Dinge“ haben, die ich verwenden kann, geben Sie sie bitte weiter – es ist immer gut, praktische Beispiele zu haben.
Ich habe übrigens eine Galerie mit 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 kommt das Skript nur annähernd dem Aussehen der gepackten Balken nahe.
Ich habe einen interessanten Verlauf der Reaktionen auf diesen Beitrag erlebt 
Meine ersten Reaktionen waren wie folgt: „Das ist nicht wirklich neu, wir haben das... oh, warte, nein, das ist anders...“ ein paar Mal hintereinander gemacht.
Ich denke, dass diese Technik großes Potenzial für große, geordnete Datensätze hat. Es scheint mir, dass alle Mängel, die es hat, bereits in Treemaps vorhanden sind und dass diese Technik diese Mängel verbessert.
Ich denke, dass das Verwirrungspotenzial zunächst groß ist. 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 auf jeden Fall, es zu erkunden, und ich würde meine Daten *viel* lieber in diesem Format darstellen als in einer Standard-Baumkarte.
Gute Arbeit.