Подтвердить что ты не робот

D3 шкала времени x ось с временной отметкой unix

Не удается форматировать ось X этой диаграммы временных рядов с помощью d3 js.

Вот рабочий пример: http://tributary.io/inlet/7798421

Проблема: я могу видеть только 1 дату (метку) на оси x, независимо от общего количества указанных тиков. Как я могу отображать время по оси X с 4-6 тиками?

EDIT: Решение ниже благодаря Ларсу.

Вот мое время в UTC:

var data = [
    {"time": 1387212120, "open": 368, "close": 275, "high": 380, "low": 158},
    {"time": 1387212130, "open": 330, "close": 350, "high": 389, "low": 310},
    {"time": 1387212140, "open": 213, "close": 253, "high": 289, "low": 213}];

data.forEach(function(d){ d.time = new Date(d.time * 1000) });

И затем d3 примет его в формате по умолчанию или вы можете настроить.

4b9b3361

Ответ 1

Проблема состоит в том, что объекты Javascript Date (в которые вы неявно конвертируете ваши отметки времени) не являются метками времени в секундах, а в миллисекундах. Если вы умножаете все ваши значения времени на 1000, оно работает.

Заполните пример здесь. Я также сделал преобразование в Date явным.