Я думаю, что все, что вам нужно сделать, это настроить все диаграммы, а затем установите возвратный интервал таймер, который извлекает ломти и вызывает crossfilter.add, а затем dc.redrawAll():
var cf = crossfilter([]); // start with no data
// set up dimensions, groups, and charts, then ...
window.setInterval(function() {
d3.csv(/* your data source with chunk parameters */, function(error, data) {
data.forEach(function(d) {
// preprocess data
});
cf.add(data);
dc.redrawAll();
});
}, 5000); // or choose an appropriate interval for processing your chunks
Может быть более разумный способ привязать запросы, чтобы всегда был запрос ajax в полете, и фрагмент данных, обрабатываемых браузером. (Вероятно, начиная следующий запрос, как только последний прибыл.)
Но я думаю, что это лучший способ начать работу, потому что это легко понять.
Я не знаю об общедоступном источнике данных с поддерживаемым API-интерфейсом, но если вы знаете один и можете создать пример скрипта, я уверен, что пример поможет многим людям.
Я уверен, что есть способ. –
@ Эрик, Как мне это сделать? –
@ Эрик Гуань, мне нравится этот ответ. Я всегда хочу это сказать. Ответ «да». – Gordon