我在d3中使用nest()和sum(),需要將得到的數字四舍五入到小數點后兩位。
我應該怎么做?
var categories = d3.nest()
.key(function(d){returnd.Category})
.rollup(function(leaves){
return d3.sum(leaves, function(d) {return d3. sum(d3.values(d))})。)
})
.entries(data)。
而結果是通過:
顯示的 var sum=0;
columns = svg.append("g"/span>)
.selectAll("text").data(類別
.enter().append("text")
.attr("x"/span>, function(d){
return x(d.key) x.rangeBand()/2.
})
.attr("y", function (d) {
return y(d.values)。
})
.attr("dy"/span>, "-0.7em"/span>)
.attr('style'/span>, 'font-size:11px')
.text( function(d){
return d.values '%'/span>;
})
.style({fill: 'black'/span>, "text-anchor"/span>: "middle"})。)
uj5u.com熱心網友回復:
你可以使用javascript的 uj5u.com熱心網友回復: 我在d3中找到了內置的格式化功能:Math.round()/code>。唯一的問題是,它四舍五入到最接近的整數,所以如果你想四舍五入到2d.p.,你會用這個數字乘以100,四舍五入到最接近的整數,然后再除以它,以正確得到小數。
columns = svg.append("g"/span>)
.selectAll("text").data(類別
.enter().append("text")
.attr("x"/span>, function(d){
return x(d.key) x.rangeBand()/2.
})
.attr("y", function (d) {
return y(d.values)。
})
.attr("dy"/span>, "-0.7em"/span>)
.attr('style'/span>, 'font-size:11px')
.text( function(d){
return Math.round(d.values * 100) / 100 '%'。
})
.style({fill: 'black'/span>, "text-anchor"/span>: "middle"})。)
使用這個對我來說很有效。
return d3. format(".2f")(d.values) '%'/span>。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/320658.html
標籤:
上一篇:Jest測驗在匯入d3時失敗
