2013-12-10 88 views
5

我使用離散條形圖(NVD3庫)在我的站點中顯示圖表。雖然顯示圖形一切都很好,但我的問題是,如何將十進制值更改爲整數。在y軸上顯示整數值的值爲 。 雖然我用哪個數組顯示具有整數值的值。這是我用js代碼低於如何更改離散條形圖中整數的小數值

 nv.addGraph(function() { 
    var chart = nv.models.discreteBarChart() 
    .x(function(d) { return d.label }) 
    .y(function(d) { return d.value }) 
    .staggerLabels(true) 
    .tooltips(false) 
    .showValues(true) 
    .transitionDuration(250); 
    chart.xAxis.axisLabel("<?php echo $configureGrid['x_axis']['legend']; ?>"); 
    chart.yAxis.axisLabel("<?php echo $configureGrid['y_axis']['legend']; ?>"); 
    d3.select('#issue_by_time svg') 
    .datum(historicalBarChart) 
    .call(chart); 
    nv.utils.windowResize(chart.update); 
    return chart; 
    }); 
    }); 

回答

12

使用此,

chart.yAxis.tickFormat(d3.format(',f')); 

轉換小數重視成整數爲y軸

chart.xAxis.tickFormat(d3.format(',f')); 

轉換小數重視成整數爲x軸

chart.valueFormat(d3.format('d')); 

將小數點轉換爲整數,以圖表形式輸入

+0

你試過這個嗎?它不適合我。 –

+1

你試過這個,這對我很有用。 –

+0

+1也適用於我... – suhailvs

0

不能在NVD3直接做到這一點,但通過手動選擇text元素和更改文本,就可以了。在圖表生成後運行的以下代碼將處理該問題。

d3.selectAll(".nv-y.nv-axis") 
    .selectAll("text[text-anchor=end]") 
    .text(function() { return Math.round(d3.select(this).text()); }); 
+0

我們可以做到這一點直接@Lars kotthoff.see我的答案。 –

4

chart.valueFormat(d3.format('d')); 此示出的準確值作爲數據表 (它可以是整型或浮點型)

上顯示showValue選項確切谷可以使用 .valueFormat(d3.format()」 0' );

2

此外,通過@ moaz-ateeq回答,在此angular-nvd3會是什麼樣

yAxis: { 
    tickFormat: function(d){ return d3.format(',f')(d) } 
}