2013-01-03 3 views
2

D3에서 실시간 선 그래프를 만들려고합니다. 내 데이터는 [[날짜, 값], [날짜, 값] 형식입니다. 어떤 데이터도받지 못하면 값은 0이됩니다.이 값에 대해 줄 바꿈을 사용하여 플롯되지 않도록하고 싶습니다. 그러면 데이터가 누락 된 그래프에 간격이 생길 것입니다.데이터가 없을 때 SVG 경로에 간격이 있습니다.

누구나 내가이 작업을 어떻게 수행하는지 알 수 있습니까?

+1

는 지금까지 코드를 만들어 본 적이 내가 할 – Sirko

+0

를, 내가 현재 가지고있는의 JS 바이올린을 만들었습니다 http://jsfiddle.net/ srZwS/1 – dtsn

답변

1

단일 축 세트에서 여러 개의 플롯을 작성하면 쉽게 수행 할 수 있습니다. 각 연속 데이터 세트는 별도의 플롯이됩니다. 그럼 당신이 그들에게 모두 같은 색깔 등 할당 확인하십시오.

+0

답장을 보내 주셔서 감사합니다. 그 아이디어를 시도하고 내 데이터 세트가 너무 복잡하다고 생각합니다 .JS 피들 http://jsfiddle.net/srZwS/1을 만들었습니다. 문제가 발생했습니다 .18 : 00 ~ 09 : 00에 대한 데이터가 없으며 D3에서 두 데이터 사이에 직선을 그립니다.이 연결을 원하지 않습니다. – dtsn

+0

직면 한 문제는 실제로 올바른 유형이 아니라는 것입니다 불연속적인 데이터를 표현하기위한 그래프의 사용. 바 차트를 사용하는 것이 더 적절할 것입니다 (불연속적인 데이터에 적절합니다). 선 그래프를 사용하여 당신을 분리해야합니다 r 데이터를 사용하여 여러 줄을 형성합니다. –

+0

당신이 옳다면 막대 차트를 사용해야합니다. 방금 꺾은 선형 차트를 사용하려는 사용자가 있습니다. – dtsn

11

보십시오. 변수 my_dataset은 속성이 {x, y} 인 객체의 배열입니다. . "NaN의 : y 값이 시각화에 건너로

var line = d3.svg.line() 
    .x(function(d, i) { return x(d.x); }) 
    .y(function(d) { return y(d.y); }) 
    .defined(function(d) { return !isNaN(d.y); }) 
    ; 

my_visualization.append("svg:path") 
    .data([ my_dataset]) 
    .attr("d", line) 
+2

여기 좋은 예를 찾을 수 있습니다 : http://bl.ocks.org/mbostock/3035090 –

관련 문제