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 примет его в формате по умолчанию или вы можете настроить.
Ответы
Ответ 1
Проблема состоит в том, что объекты Javascript Date
(в которые вы неявно конвертируете ваши отметки времени) не являются метками времени в секундах, а в миллисекундах. Если вы умножаете все ваши значения времени на 1000, оно работает.
Заполните пример здесь. Я также сделал преобразование в Date
явным.