2016-03-24 8 views
1

Ich habe einen Datensatz, der in etwa so aussieht und ein Liniendiagramm mit maximalen und minimalen Temperaturen pro Tag erstellen möchte (es gibt mehrere Messungen pro Tag).Chart Min Max Werte von jedem gegebenen Tag mit Crossfilter und dc.js

[..., 
{datetime: '21 Feb...', surface_temperature:21.5}, 
{datetime: '21 Feb...', surface_temperature:21.9}, 
{datetime: '21 Feb...', surface_temperature:25.5}, 
... 
{datetime: '22 Feb...', surface_temperature:23.5}, 
.... 
] 

Wie kann ich die Mindest- und Höchstwerte von Surface_Temperature mit Crossfilter erhalten?

Antwort

2

Wahrscheinlich am einfachsten eine Helfer-Bibliothek wie Reductio zu verwenden, die reduzieren Funktionen für diese und andere Aggregationen generieren wird. Die dc.js FAQ hat eine ziemlich ausführliche Diskussion über das Thema, wenn Sie dies manuell tun möchten. Es ist nicht einfach, für inkrementelle Aggregationen zu sorgen.

+0

Haftungsausschluss: Ich habe Reductio geschrieben, daher kann meine Empfehlung voreingenommen sein ;-) –

+0

Mein Datensatz hat abhängig von der Zeit mehrere Werte für surface_temp. Ich möchte für jeden Tag drei Skalare erhalten (Min, Max und Median). Nach den Dokumenten auf Reductio habe ich: '' 'reductio(). Min (...). Max (...). Median (...)' '' und angegebener WertAccessor für dc.js chart aber nur zeigt den Median an und die Konsole löst eine Warnung aus '' '' VALUELIST-Accessor wird von der Median-Aggregation überschrieben''' –

+1

Das stimmt im Grunde. Es wird Warnungen auslösen, sollte aber in Ordnung sein. Wenn Sie die Warnungen vermeiden wollen, gehen Sie mit 'reductio(). Min (Funktion (d) {zurück d.Surface_Temperature;}). Max (wahr) .median (wahr) (dateGrp);' –