0

初めて D3 を使用しており、平行座標グラフを作成しようとしています。私は基本的にこのデモを使用しています。私が行った唯一の実際の変更は、データを変更し、右端の軸を変更して、ラベルとして数値ではなく文字列を使用することです。私は以下を使用してこれを行います:

        if(d === "Dog Breed") {
            y[d] = d3.scale.ordinal()
              .domain(dogData.map(function(p) { return p[d]; }))
              .rangePoints([h, 0]);  // quantitative color scale

        }

残念なことに、犬の品種が長すぎると、テキストが途切れてしまい、ラベルを読むのが難しくなります (読むには軸全体を動かさなければなりませんが、離すとすぐに元の位置に戻ります)。最初の場所)。

私の他の変更は次のとおりです。

        var m = [30, 10, 10, 10],
        w = screen.width - 150, // Make it 150px less than the screen's width.
        h = 500 - m[0] - m[2];

軸ラベル コードは、次の場所で同じままです。

          // Add an axis and title.
      g.append("svg:g")
          .attr("class", "axis")
          .each(function(d) { d3.select(this).call(axis.scale(y[d])); })
        .append("svg:text")
          .attr("text-anchor", "middle")
          .attr("y", -9)
          .text(String);

名前が切り取られることを回避する方法はありますか? グラフ自体をブロック内で約 20px ずらすだけでも効果がありますが、そのためのコードがどこにあるのかわかりません...

4

1 に答える 1