2014-02-21 2 views
0

Я использую рикшу для построения эволюции генетического алгоритма во времени. Поэтому я хотел бы прокормить диаграмму потоком и посмотреть время в x-Axys, начиная с 0 секунд.Формат X axys в Rickshaw, начинающийся с 0 мс и развивающийся от мс до секунд автоматически

настоящего время я использую динамическое толкание потоковых результатов, как:

var data = { x: new Date().getTime(), y: N) }; 
graph.series[0].data.push(data); 
graph.render(); 

И я настройку х-AXYS так:

var axes = new Rickshaw.Graph.Axis.Time({ 
    graph: graph 
}); 

Результата добивается является графиком с странные времена на нем, как 45, затем 02:00, затем 13:00. Мне нужно было что-то вроде ______________ | | |
0s 1s 2s
evolving to ________________ | | |
0s 5s 10s
У кого-нибудь есть подсказки?

ответ

1

Я только что нашел один возможный ответ.

// Declare the starting time 
var startTime = new Date().getTime(); 

// format time to appear only the seconds 
var format = function(d) { 
    d = new Date(d); 

    var seconds = Number(d3.time.format("%S")(d)); 
    if (seconds === 0) { 
    return Number(d3.time.format("%L")(d)) + ' ms'; 
    } else { 
    return seconds + ' s'; 
    } 
}; 

var x_axis = new Rickshaw.Graph.Axis.X({ 
    graph: graph, 
    tickFormat: format, 
}); 

// Push new value 
// Subtract startTime to the current time 
var currTime = new Date().getTime() - startTime; 
var data = { x: currTime, y: N) }; 
graph.series[0].data.push(data); 

// Render the graph 
graph.render(); 

Вы можете проверить больше времени форматов в D3 в этой ссылке: http://www.d3noob.org/2012/12/formatting-date-time-on-d3js-graph.html

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