1

現在積み上げ棒グラフを作成していますが、軸ラベルに問題があります。ラベルは一見問題ないように見えますが、Y 軸の上部に常に目盛りがあるとは限らないことに気付きました。下に画像を貼り付けました。

120,000 を超えるティックがないことを示すグラフ

ご覧のとおり、明らかに 120,000 を超えるバーがありますが、120,000 を超えるティックはありません。軸が一定の間隔で目盛りを作成していることはわかっていますが、最後の目盛り値を強制的にスケールの最大値にする方法はありますか? そうでない場合、スケールの一番上ですべてのことを言い終えた後に、余分な線/ラベルを引くのがより良い解決策でしょうか?

私のスケールと軸のコードは次のとおりです。

var max = d3.max(data, function(d) { return d.red_value + d.blue_value; } );

var labelScaleY = d3.scale.linear()
                    .domain([0, max])
                    .rangeRound([svg_height-40, 0]);

svg.append("g")
   .attr("class", "y_axis")
   .call(d3.svg.axis()
           .scale(labelScaleY)
           .orient("left"))
   .attr("transform", "translate(60,20)");

svg.selectAll("line.y_rule").data(labelScaleY.ticks()).enter()
                            .append("line")
                            .attr({
                                "class":"y_rule",
                                "x1":0,
                                "x2":(svg_width-60),
                                "y1":function(d){ return labelScaleY(d);},
                                "y2":function(d){ return labelScaleY(d);},
                                "fill":"none",
                                "shape-rendering":"crispEdges",
                                "stroke":"black",
                                "stroke-width":"1px",
                                "transform":"translate(60,20)"
                            });
4

1 に答える 1

2

.nice 関数を見てみましょう

https://github.com/mbostock/d3/wiki/Quantitative-Scales#wiki-linear_nice

于 2013-10-02T14:14:44.090 に答える