2017-01-25 3 views
1

Есть ли способ передать большой набор данных с сервера и визуализировать данные с помощью dc.js в асинхронном режиме?поток большой набор данных с сервера и визуализировать данные асинхронно

Затем отредактируйте набор данных, чтобы обновить визуализацию на клиенте с кусками по мере их поступления.

Как эта страница: http://vcf.iobio.io/?vcf=http://s3.amazonaws.com/vcf.files/ExAC.r0.2.sites.vep.vcf.gz&species=Human&build=GRCh37

+1

Я уверен, что есть способ. –

+0

@ Эрик, Как мне это сделать? –

+0

@ Эрик Гуань, мне нравится этот ответ. Я всегда хочу это сказать. Ответ «да». – Gordon

ответ

0

Я думаю, что все, что вам нужно сделать, это настроить все диаграммы, а затем установите возвратный интервал таймер, который извлекает ломти и вызывает 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-интерфейсом, но если вы знаете один и можете создать пример скрипта, я уверен, что пример поможет многим людям.

+0

Могу ли я настроить поток файлов с сервера с помощью функции потока данных узла в качестве источника данных? –

+0

Опять же, я уверен, что да. Но я не знаю узел, поэтому я не могу много помочь. Я представляю себе успокоительный API на сервере, который принимает смещение и длину фрагмента, и клиент будет отслеживать, сколько он уже прочитал. – Gordon

Смежные вопросы