2014-06-05 3 views
4

d3.svg.axis 축을 생성했으며 눈금 생성기가 생성 한 눈금에 만족합니다. 그러나 특정 값이 항상 표시되도록하고 싶습니다. 2003년 1월 1일D3.js 축에 특정 눈금 추가하기

내가 축 쇼를 할 수 있습니다, 발전기는 다음 날짜

2000년 1월 1일

, 2001년 1월 1일, 2002년 1월 1일을 생산하는 경우 예를 들어, 그래서

2000년 1월 1일, 내가 만든 눈금의 배열을 얻는 방법 2000년 7월 21일, 2001년 1월 1일, 2002년 1월 1일, 2003년 1월 1일

틱 생성기 그래서 내 값을 추가하고 tickValues 함수에 전달할 수 있습니까?

나는 두 번째 축을 만들 수 있으며, 도메인 경로를 제거하고 그 어떤 추가 날짜도 tickValues 함수에 전달하도록 스타일을 지정할 수 있지만 약간 어색한 것으로 보입니다.

아니면 잘못된 방식으로 진행하나요?

감사

당신이 생성 한 값을 얻기 위해 매개 변수없이 ticks()를 호출 할 수 있습니다 당신은 당신의 규모 & 축을 설정 한 후에

답변

10

:

ticks = myScale.ticks(); 

을 그리고 당신이 밀어 수/스플 라이스/어떤 : 다음

ticks.push(some_new_value): 

그리고 것은 tickValues

,369로 그들을 다시 전달
myAxis.tickValues(ticks); 

이 모든 것을 수행하기 전에이 축을 호출하여 SVG에 추가하십시오.

+0

고마워요! 그게 잘 작동하는 것 같아요 나는 빨리 block을 만들었습니다. http://bl.ocks.org/tomgp/aaf0499e139e0b8c58ea –

+0

이것에 대해 생각해 봅시다. 저를 잡은 것은 'scale.ticks (...) '는 배열을 반환하고'axis.ticks (...)'는 축 객체를 반환하고 나중에 사용하기 위해 틱 배열을 저장합니다. 나는 축/축척 혼란으로 고통 받고 있었다. –