2

キュービズムの例では、context.horizo​​n() の高さパラメーターをより小さな値に変更すると、グラフ自体がさらにオーバープロットされます。値を大きくする場合はその逆です。オーバープロットが少なくなります。

ただし、高さパラメーターを変更すると、グラフは同じレベルのオーバープロットを保持し、それに応じて単純に拡大縮小します。高さを小さくすると、グラフの解像度が事実上失われます。

これを修正するにはどうすればよいですか?

これが私のコードです:

var context = cubism.context().step(1000000).size(1000);

var graphite = context.graphite("http://graphite.example.com");
var horizon = context.horizon().metric(graphite.metric).height(200);

var metrics = [
    "summarize(example0,'10s')",
    "summarize(example1,'10s')",
    "summarize(example2),'10s')",
    "summarize(example3),'10s')"
]   

d3.select("#supergraph").append("div")
    .attr("class", "axis")
    .call(context.axis().ticks(4).orient("top"));

d3.select("#supergraph").append("div")
    .attr("class", "rule")
    .call(context.rule());

d3.select("#supergraph").selectAll(".horizon")
    .data(metrics)
.enter().append("div")
    .attr("class", "horizon")
    .call(horizon);

4

1 に答える 1

1

Cubism は常に、設定した色の数に等しい数のバンドをプロットし、範囲を明示的に設定しない限り、常に最高のバンドの上部にある最大値をデータの最大値に設定します。これは、サイズを変更するときに同じ解像度を維持するための 2 つのオプションがあることを意味します。

1) 範囲を明示的に設定しhorizon.extent([min, max])、高さをスケーリングするときに最小値と最大値をスケーリングできます。つまり、チャートの高さを 2 倍にすると、範囲の最小値と最大値も 2 倍になります。

2) 指定する色の数を変更できます。これにより、作成されるバンドの数が変わります。つまり、チャートの高さを 2 倍にする場合は、半分の色数で新しい色の配列を与えます。

于 2013-01-07T17:15:05.303 に答える