2014-10-23 4 views
4

내가 x 축를 생성하는 d3.time.scale를 사용하고, 그리고 도메인이 그러나, 틱 값만을 표시되지 2013D3 축의 최종 눈금 값을 표시하는 방법은 무엇입니까?

2012 개까지 내가 .ticks 시도 1980 년부터 2013 (년)에 범위() 하지만 틱 수가 25 일 때까지 최종 틱 값이 표시되지 않습니다 ...

2014 년까지 수동으로 도메인을 늘려 최종 값을 추가 할 수 있지만 마지막 틱의 틱 값을 표시하는 방법이 있습니까?

xAxis = d3.svg.axis() 
     .scale(xScale).tickSize(20) 

var maxYear = format.parse('2014') 

xScale = d3.time.scale().domain([min,max]) 
    .range([100,width-200]) //domain = [1980 ~ 2013] 


var min = d3.min(data, function(d) { 
    return d.Year;    // + operator converts string to number. 
}) 

var max = d3.max(data, function(d) { 
    return d.Year; 
}) 

감사합니다.

답변

4

.nice()을 사용해 보셨습니까?

https://github.com/mbostock/d3/wiki/Time-Scales#nice

가 작업을 수행해야합니다

xScale = d3.time.scale().domain([min,max]) 
    .range([100,width-200]) //domain = [1980 ~ 2013] 
    .nice() 
+0

당신은 D3의 V4를 사용하고있을 수 있습니다 @CodeWhisperer 영향 –

+0

이없는 것으로 보인다. 용어는 약간 다르다 :'time.scale' 대신에'scaleTime'. 'nice' 함수는 아직 여기 있습니다. [d3.js v4 문서] (https://github.com/d3/d3-scale/blob/master/README.md#time_nice)를보십시오. –

관련 문제