7

カテゴリ データを d3js 平行座標に追加する方法を探しています。D3js は私にとって初めてのことです。何が行われているかの一部は理解できますが、これを行う方法を理解することはできませんでした。私のデータのほとんどは連続的であるため、並列セットは適切なオプションではありません。

車の例を考えると、軸上でブランドごとにフィルター処理できるようにしたいと思います (たとえば、フォードのデータのみが表示されるようにフィルター処理します)。各車を定義するには変数が必要であると想定しています (例: プジョー、フォード、BMW、アウディなど...)

車例はこちら。

http://bl.ocks.org/1341281

応答してくれた人に感謝します。

4

1 に答える 1

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]));
}));

に:

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;
}));

そして、1 つの文字列値のカテゴリ列をデータに追加しました。どのプロパティが文字列値であるかをハードコーディングするのが少し面倒でした。

于 2012-11-27T22:38:43.583 に答える