【问题标题】:d3 parallel coordinates datetime axisd3 平行坐标日期时间轴
【发布时间】:2015-03-17 06:03:14
【问题描述】:

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

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

【问题讨论】:

标签: javascript datetime d3.js graph parallel-coordinates


【解决方案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 运行 +(new Date()) 以来新日期经过的时间,Date 构造函数的参数将是您为这种情况决定的参数。

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-21
  • 1970-01-01
  • 1970-01-01
  • 2017-08-11
  • 1970-01-01
相关资源
最近更新 更多