2016-11-17 1 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 –

관련 문제