Począwszy od przykładowego filtra crossfilter płatności (https://github.com/square/crossfilter/wiki/API-Reference) w jaki sposób możemy utworzyć wykres złożony z jedną liniową dla każdego rodzaju płatności (zakładka, wiza, gotówka)?Composite Graph z Crossfilter Przykład
9
A
Odpowiedz
1
Zakładam, że chcesz wyświetlać płatność totals
w czasie (wymiar date
) dla każdej płatności type
.
var payments = crossfilter([...]);
var dateDimension = payments.dimension(function(d) { return new Date(d.date); });
Tworzenie grupy sumy płatności dla każdego rodzaju płatności (karta, wiza, pieniężnych)
var totalForType = function(type) {
return function(d) {
return d.type === type ? d.total : null;
};
};
var tabTotalsGroup = dateDimension.group().reduceSum(totalForType('tab'));
var visaTotalsGroup = dateDimension.group().reduceSum(totalForType('visa'));
var cashTotalsGroup = dateDimension.group().reduceSum(totalForType('cash'));
zdefiniować kompozytowego wykres i korzystają z grup zdefiniować 3 wykresy liniowe jako część złożonego wykresu .
var compositeChart = dc.compositeChart('#composite-chart');
compositeChart
...
.x(d3.time.scale().domain([new Date("2011-11-14T16:15:00Z"), new Date("2011-11-14T17:45:00Z")]))
.dimension(dateDimension)
.compose([
dc.lineChart(compositeChart).group(tabTotalsGroup, 'tab').colors(['#ffaa00']),
dc.lineChart(compositeChart).group(visaTotalsGroup, 'visa').colors(['#aa00ff']),
dc.lineChart(compositeChart).group(cashTotalsGroup, 'cash').colors(['#00aaff'])
]);
dc.renderAll();
Pełny przykład: http://plnkr.co/edit/rhDURrDfeSvVqEnQR9L1?p=preview
+0
Doskonale, dziękuję. Zmieniłem go na wykres słupkowy, który ma nieco więcej sensu w tym kontekście. Mając to jako punkt wyjścia, byłem w stanie dostosować go do tego, co faktycznie próbowałem osiągnąć. –
Powiązane problemy
- 1. Prosty przykład wyskakującego uwierzytelniania z Facebook Graph API
- 2. Graph Layout użyciu Graph #
- 3. Dlaczego tak jest w Crossfilter?
- 4. Połączenia wsadowe z interfejsem API Graph Graph i PHP
- 5. Discrete filter for D3 Crossfilter Dimensions
- 6. klucze Composite laravel schematu budowniczy
- 7. Użyj GridLayout w Scrolled Composite
- 8. dwa zbiory wewnątrz Composite View
- 9. Korzystanie z interfejsu API Graph Graph API Biblioteka PHP
- 10. Oddzielna Dołącz klauzula Composite Index
- 11. Filtr Crossfilter - jak znaleźć min/max
- 12. crossfilter, d3.brush i nvd3 integracja
- 13. Dodanie filtru dc.js/Crossfilter nie aktualizowanie wykresu
- 14. Czy Crossfilter wymaga płaskiej struktury danych?
- 15. d3 + crossfilter: osi czasu renderuje pikselowe pręty
- 16. Pierwsza baza danych Entity - Composite Foreign Keys
- 17. Graph Batch API
- 18. Entity Framework - DB-First - Composite Foreign Keys
- 19. Jak zrobić composite with gm node.js?
- 20. Symfony2 Doctrine ORM Composite Primary Keys
- 21. Definiowanie Composite Klucz z automatycznego przyrostu w MySQL
- 22. Solr Composite unikalny klucz z istniejących pól w schemacie
- 23. Przykład makiety RSpec Przykład
- 24. klucz Composite jako klucz obcy (SQL)
- 25. Dlaczego klasa composite-id musi implementować Serializable?
- 26. BaseHTTPRequestHandler z niestandardowym przykład
- 27. przykład kolba z POST
- 28. Problem z książką Przykład
- 29. przykład
- 30. Fragment Google+ z protokołem Open Graph
+1. Nie mam pojęcia, jak utworzyć go za pomocą złożonego wykresu. Myślę, że można to zrobić za pomocą wykresu serii. Jednak poczekam na poradę eksperta. –
W tej chwili szukam przykładu złożonego koszyka, ponieważ to, czego naprawdę chcę, to wykreślić dwie serie i użyć .useRightYAxis (true), dzięki czemu mogę porównywać dwa zestawy danych z różnymi Y wartości osi. –