0

我正在尝试制作一个平行坐标图并基于http://bl.ocks.org/jasondavies/1341281示例进行开发。

如果我想使用 DateTime 格式属性作为图中的轴之一,我需要在代码中更改/修改/添加什么?

4

1 回答 1

1

我认为将时间作为自纪元以来的毫秒数添加到 csv 文件就足够了,以下行会将字符串转换为数字:

// Extract the list of dimensions and create a scale for each.
x.domain(dimensions = d3.keys(cars[0]).filter(function(d) {
  return d != "name" && (y[d] = d3.scale.linear()
    .domain(d3.extent(cars, function(p) { return +p[d]; }))
    .range([height, 0]));
}));

p[d]当到达新列(让我们称之为time)时,d3.extent在该特定列的汽车上执行将获得最大值和最小值(作为数字)并将它们映射到范围 [height, 0],以便每当您执行y['time'](value)和值在范围内[min, max],它将被映射到之间的一个值[height, 0]

要获取自 epoch run 以来新日期经过的时间+(new Date()),构造函数的参数Date将是您为这种情况决定的参数。

我发现的一个问题是标签(数字将类似于1426573656530)所以我会使用tickFormat来更改每个轴的标签

于 2015-03-17T06:29:48.907 回答