0

キュービズムでは1時間の区切りで24時間の軸を作ろうとしています。

var context = cubism.context()
    .serverDelay(30*1000)
    .step(10 * 60 * 1000) //The step size is 10 mins
    .size(window_width - 200);

d3.select("#viz").selectAll(".axis")
    .data(["top", "bottom"])
    .enter().append("div")
    .attr("class", function(d) { return d + " axis"; })
    .each(function(d) { d3.select(this).call(context.axis().ticks(d3.time.hours, 1).orient(d)); });

この行 context.axis().ticks(d3.time.hours, 1).orient(d) はどういうわけか間違っています。軸のテキストが重なって何も表示されないためです。60 分、1 日など、さまざまな組み合わせを試しましたが、うまくいかないようです。誰でも私を助けてください。

4

1 に答える 1

1

あなたは何をするのか誤解してsizeいます。size画面上で使用できるピクセル数を示すものではありません。それはあなたが持っているデータポイントの数を示します。これは、データを表示するために必要なピクセルの数です。データ ポイントの数によってサイズが決まりますが、その逆ではありません

10分ごとの値を持つ24時間間隔のデータがあるとおっしゃいました。これにより、グラフの幅が 144 ピクセルwindow_width - 200になりますsize

これは、最善の努力にもかかわらず、軸にラベルを追加できない理由も説明しています。Cubism は小さなグラフを乱雑にしたくないため、最大 3 つまたは 4 つのラベルしか許可していません。

この問題を解決する最善の方法は、データ ポイントの数を増やすことです。これは 2 つの方法で行うことができます。

  • 1 分または 2 分に短縮stepして、より広いグラフを取得します (1 分で 1440 ピクセル幅の画像、2 分で 720 ピクセル幅の画像が得られます)。
  • それが不可能な場合は、時間枠を 1 週間 (1008 ピクセル) に増やしてください。
于 2013-07-11T03:56:24.397 に答える