#javascript #d3.js
Вопрос:
работал над заданием D3, и анализ времени действительно не работает для меня.
прикрепленное изображение-это данные даты csv, который я использую (загружено d3.dsv), и я использовал var parseTime = d3.timeParse("%m-%d-%Y")
его в попытке загрузить, но он всегда возвращается null
. Я также пытался (%e-%d-%Y)
варьировать, но безрезультатно. Интересно то, что первый формат работал вчера, а теперь он дал ноль, когда я попытался продолжить свою работу сегодня. Любая помощь будет признательна.
Ответ №1:
Поскольку вы не предоставили эти данные, я предположил, что данные и приведенный ниже код работают.
Одна вещь, на которую следует обратить внимание, — это то, что в ваших данных есть косая черта ( / ), разделяющая день, месяц и год. Однако в d3.timeParse
, вы используете дефис (-). И то и другое должно совпадать.
let data = [
{ date: "11/22/2016", cat: 5 },
{ date: "12/22/2016", cat: 4 },
{ date: "01/22/2017", cat: 3 },
{ date: "02/22/2017", cat: 2 },
];
parseTime = d3.timeParse("%m/%d/%Y");
data.forEach((d) => console.log(d.date));
data.forEach((d) => (d.date = parseTime(d.date)));
data.forEach((d) => console.log(d.date));
console.log(data);
Выход