1
我目前正在處理堆疊條形圖,並且遇到了軸標籤的問題。在第一次臉紅時標籤看起來很好,但我注意到Y軸頂部並不總是有一個勾號。下面貼了一張照片。d3.js規模不會在頂部放置刻度
正如你所看到的,上面有12萬沒有蜱即使有一間酒吧,顯然超出該值。我意識到軸正在定期創建刻度,但是有沒有辦法強制最後一個刻度值成爲刻度的最大值?如果不是的話,在所有事情都說完之後,如何在規模的頂部畫一個額外的線條/標籤會是一個更好的解決方案?
的代碼爲我的規模和軸低於:
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)"
});
啊看看!在所有Google搜索後,我總覺得沒有發現。完美的作品。你是一個溫柔的(男人/女人)和一個學者。 – SamHuckaby