2016-11-17 82 views
2

Y軸的最下方刻度線在我創建的折線圖中不可見。軸創建代碼是:顯示y軸的最下方的刻度線

var y = d3.scale.linear().range([height, 0]); 

var yAxis = d3.svg.axis().scale(y) 
    .orient("left").ticks(5) 
    .innerTickSize(-width) 
    .outerTickSize(0) 
    .tickPadding(10); 

enter image description here

軸是好的,但我需要顯示的刻度和文字在底部最Y軸的。這裏有什麼問題? Here is the JSFiddle.

回答

1

使用nice()域中:

y.domain([ 
    d3.min(chartData, function(n) { 
     return d3.min(n.values, function(d) { 
      return d.value; 
     }); 
    }), 
    d3.max(chartData, function(n) { 
     return d3.max(n.values, function(d) { 
      return d.value; 
     }); 
    }) 
]).nice(); 

這裏是你的小提琴:https://jsfiddle.net/c8mjha3o/

+0

但是,如果你看到的第一個圖表中的小提琴,它仍然沒有顯示最下方勾選文本。也許這是網格本身的問題,但是有沒有解決方法?我應該始終得到最底部的勾號。 – Rishabh

+1

D3軸應該是動態的。因此,「始終顯示第一個勾號」並不容易。如果你願意,你可以使用'tickValues':https://github.com/d3/d3-3.x-api-reference/blob/master/SVG-Axes.md#tickValues –