2013-06-29 2 views
2

У меня есть некоторые данные файла журнала, которые я хотел бы рассчитать. Для одного файла журнала каждый раз, когда происходит событие, строка добавляется в файл журнала. Я могу получить его, так что данные выглядит следующим образом:Данные файла журнала журнала по временному интервалу в d3

data = [ 
    { 
     "click": true, 
     "date": "2013-06-23T14:37:27.000Z" 
    }, 
    { 
     "click": true, 
     "date": "2013-06-23T14:36:02.000Z" 
    }, 
    ... 
    ... 
    ... 
] 

Теперь, что я хотел бы сделать, это просмотреть эти данные по линии времени, так что я могу узнать, сколько кликов произойдет в течение долгого времени. Однако, мне кажется, мне нужно сгруппировать эти данные через интервалы (1 минута или 15 минут, день ...), чтобы я мог видеть, сколько людей нажимают на некоторое время. Затем нарисуйте данные интервалов.

Есть ли способ группировать данные по временному интервалу? Есть ли у d3 способ сделать это? Я также использую рикшу и кофейни.

+0

http://bl.ocks.org/mbostock/3048166 –

ответ

2

Как полагает Адам Pearce, вы можете получить всю информацию здесь: http://bl.ocks.org/mbostock/3048166

Первый шаг заключается в определении x:

var x = d3.scale.linear() 
    .domain([0, 120]) 
    .range([0, width]); 

Затем вы просто определить количество тиков вы хотите:

// Generate a histogram using twenty uniformly-spaced bins. 
var data = d3.layout.histogram() 
    .bins(x.ticks(20)) 
    (values); 

values С определяется следующим образом:

// Generate a log-normal distribution with a median of 30 minutes. 
var values = d3.range(1000).map(d3.random.logNormal(Math.log(30), .4)); 

Итак, секрет находится за d3.layout.histogram().bins и звонками axis.ticks.

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

  • Нет связанных вопросов^_^