2014-04-21 2 views
1

나는 그것에 시간 단위를 갖는 X 축과 XY 플롯을 그릴려고을 반환D3의 여러 플롯 X 축이 NaN의

var x = d3.time.scale().range([0, width]); 
:

var parseDate = d3.time.format("%Y-%m-%dT%H:%M:%S.%LZ").parse; 

X 축 스케일이 시간 스케일 기능을 사용하여 생성됩니다 내가 사용하여 분석하고 있습니다

는 X 축 도메인은 다음과 같이 정의한다 :

x.domain(d3.extent(data.e1), function (d) {  return d.time; }); 

그리고 줄거리는 다음과 같은 기능을 사용하여 생성됩니다

var line = d3.svg.line() 
     .interpolate("basis") 
     .x(function(d) { 
      return x(d.time); 
     }) 
     .y(function(d) { 
      return y(d.value); 
     }); 

x() 함수는 구문 분석 된 ISO 날짜를 지정해 불려 때마다 그것이 NaN을 반환합니다 .

D = "MNaN, 0.3727223712260468LNaN, 3.551619373753615CNaN, 6.730516376281183, NaN의 13.088310381336319, NaN의 15.327467421250939CNaN, 17.56662446116556, NaN의 15.687144535939666, NaN의 12.446127138207757CNaN, 9.205109740475848 NaN이, 4.602554870237924, NaN의 5.316237018898292CNaN, 6.02991916755866, NaN의 12.05983833511732, NaN의 17.974294680466606CNaN, 23.888751025815896, NaN의 29.687744548955813, NaN의 29.192971911030863CNaN, 28.698199273105914 NaN이, 21.9096604741161 NaN이, 16.400308154832988CNaN, 10.890955835549873 NaN이, 6.660789995973459, NaN의 7.246710113817281CNaN, 7.832630231661104, NaN의 13.234636306925163 NaN이, 34.457639028148215CNaN, 55.68064174937127, NaN의 92.72464111655331, NaN의 93.00921342738123CNaN, 93.29378573820912, NaN의 56.818930992682894, NaN의 36.501416168287236CNaN, 16.18390134389157, NaN의 12.02372644062648, NaN의 9.943638988993934LNaN, 7.8635515373613885 "

x 축 정의에 대한 잘못된 생각을 가진 사람이 있습니까?

답변

0

d3.extent 메서드는 데이터 배열을 입력 인수로 사용하고 접근 자 메서드를 두 번째 인수로 사용합니다. 접근자는 범위의 계산에 배열의 어떤 속성을 사용해야하는지 알려줍니다. 당신은 아마 그것을했다

// Use the time extent as domain 
x.domain(d3.extent(data.e1, function (d) { return d.time; })); 

감사합니다,

+0

로 도메인을 정의합니다. 고마워요 :) – lucassp

관련 문제