2016-10-11 2 views
-1

У меня есть набор данных, который выглядит, как этотномер Формат времени d3js

date,lenght,sort 
201506131449,2,1 
201506131449,7,0 
201506131450,35,1 
201506131450,7,1 

Но тогда гораздо больше записей.

Дата De настоящее время отформатированный как 201506131450, который 2015 - 06 - 13 14:50, где 14:50 в военное время так (2:50 вечера)

мне нужно сохранить формат, как это для сортировки целей в python.

В любом случае. Прямо сейчас Этикетки выводят огромное количество. Хотя я хочу только часть военного времени.

Так 201506131450 должен быть labeld 14:50

Текущий код:

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

var xAxis = d3.svg.axis() 
    .scale(x) 
    .orient("bottom") 
    .ticks(5); 

x.domain(d3.extent(data, function(d) { return d.date; })); 

Это производит этикетки на оси х, как: 201506131600

Как я могу изменить, что в 16:00

Заранее благодарен!

ответ

2

В вашей оси, установите tickFormat:

.tickFormat(function(d){ 
    return d.toString().slice(8,10) + ":" + d.toString().slice(10); 
}); 

Демо:

var dates = [201506131449, 201506131449, 201506131450,201506131450]; 
 

 
dates.forEach(function(d){ 
 
    console.log(d.toString().slice(8,10) + ":" + d.toString().slice(10)) 
 
});

PS: имейте в виду, что для масштаба, это не время , это всего лишь линейная шкала чисел.

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