d3js Parallel坐标分类数据

use*_*353 7 javascript d3.js parallel-coordinates

我正在寻找一种向d3js平行坐标添加分类数据的方法.D3js对我来说是新手,我可以理解正在做的一些事情,但却无法找到一种方法.并行集不是一个好选择,因为我的大部分数据都是连续的.

如果您考虑汽车示例,我希望能够按轴上的品牌进行过滤(例如过滤器,以便仅显示福特上的数据).我假设需要一个变量来定义每辆车(例如标致,福特,宝马,奥迪等......)

这是汽车的例子.

http://bl.ocks.org/1341281

感谢任何响应的人.

Sup*_*gly 11

实际上你所需要的只是一个有序的尺度!轴将负责其余部分.

检查它在这里.

基本上我改变了:

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([h, 0]));
}));
Run Code Online (Sandbox Code Playgroud)

至:

x.domain(dimensions = d3.keys(cars[0]).filter(function(d) {

    if(d === "name") return false;

    if(d === "colour") {
        y[d] = d3.scale.ordinal()
          .domain(cars.map(function(p) { return p[d]; }))
          .rangePoints([h, 0]);

    }
    else {
        y[d] = d3.scale.linear()
          .domain(d3.extent(cars, function(p) { return +p[d]; }))
          .range([h, 0]);
    }

    return true;
}));
Run Code Online (Sandbox Code Playgroud)

我在数据中添加了一个字符串值分类列.我对于硬编码哪个属性是字符串值有点懒.