dc.js Serie Diagramm mehrzeilig

8

Ich versuche, zwei Charts zu erstellen, eine Bar und eine Serie, in der die Bar die gesamten Einnahmen pro Geschäft und in der Serie zeigt, werden mehrzeilige Einnahmen pro Jahr angezeigt.

Hier ist die JSFiddle Ссылка

Wenn ich also auf den Balkendiagramm-Store 1 klicke, möchte ich in der Reihenkarte sehen, dass für diesen Laden für 2017 und 2016 jeweils eine neue Zeile erscheint. Momentan zeigt das Reihendiagramm die Gesamterträge für jedes Geschäft wie Balkendiagramm.

Irgendeine Idee, wie ich Reihendiagramm ändern kann, um Einkommen 2016 und 2017 pro Geschäft zu zeigen?

JsFiddle-Code:

%Vor%     
Nick Doulgeridis 03.05.2017, 16:00
quelle

2 Antworten

1

Hier ist eine Lösung, die eine andere Datenform verwendet. Mein anderes Beispiel verwendet eine falsche Gruppe, um die Form nach der Aggregation zu ändern.

Verwenden einer anderen Datenform.

In diesem Fall glaube ich nicht, dass die Form der Daten für das, was Sie tun möchten, förderlich ist. Daher werde ich in dieser Antwort die Form ändern. Ich werde versuchen, eine falsche Gruppe in einer zweiten Antwort zu verwenden.

Das Seriendiagramm verwendet eine einzelne Gruppe mit mehreren Elementen und eine Gruppe wird nach Zeilen gefiltert. Da jede Zeile sowohl die Gewinne 2016 als auch 2017 enthält, ist es nicht möglich, sie separat mit Hilfe von Crossfilter zu aggregieren.

Also für diesen Versuch habe ich die Datensätze nach Gewinnjahr aufgeteilt:

%Vor%

Ich denke, dadurch bleiben alle Eigenschaften Ihrer Originaldaten erhalten, aber die Datensätze werden nach Ergebnisjahr aufgeteilt. Ich habe auch die Zufallszahlengenerierung vereinfacht. ; -)

Jetzt können wir einfach eine mikey Dimension erstellen, die earnings_year verwendet.

Ich glaube nicht, dass die Rundung in der Gruppenschlüsselfunktion funktioniert hat, weil Die Dimensions- und Gruppenschlüsselfunktionen müssen die gleiche Reihenfolge haben , also habe ich sie nach oben verschoben:

%Vor%

Jetzt gruppieren wir einfach mit den gleichen Schlüsseln und reduzieren um die Summe von earnings anstelle von x (was ich für richtig halte).

%Vor%

Gabel deiner Geige, mit Filtern nach Laden Ссылка

    
Gordon 17.05.2017 21:46
quelle
1

Hier ist ein anderer Ansatz, der die Form der Quelle gleich hält, aber die Gruppe für die Verwendung des Seriendiagramms aufteilt. In meiner anderen Antwort ändere ich die Quelldatenform.

Verwenden einer falschen Gruppe

Wann immer wir Daten vorverarbeiten müssen, z.B. Um die Form zu ändern, die Crossfilter zurückgibt, können wir eine falsche Gruppe

Wir werden beide Spalten separat reduzieren, indem wir mehrere Felder reduzieren:

%Vor%

Dann nimmt diese Split-Gruppe die Namen von zwei Feldern an und teilt jedes Bin in zwei auf, wobei der Feldname als erster Teil des Multikey verwendet wird:

%Vor%

Benutze es so:

%Vor%

Mit der Zufallsgenerierung schwer zu sagen, aber ich denke, das Ergebnis ist identisch mit der anderen Antwort. Nur ein anderer Ansatz.

    
Gordon 17.05.2017 22:35
quelle

Tags und Links