2014-09-05 3 views
2

타임 라인을 만들었는데 때때로 두 개의 시간표가 연속으로 나타납니다. 문제는 아니지만 중복으로 한 줄에 표시하고 싶습니다.Google 타임 라인 겹쳐진 시간표

이 예제를 참조하십시오

enter image description here

은 그래서 덜 라인이 더 큰 라인의 한 부분으로 보여 주어야한다.

Google의 시각화 API는 놀랍습니다. 아주 좋은 점이지만 아직 잘 설명되어 있지 않습니다.

+0

나던 그에 대한 옵션이 될 것으로 보인다. 내가 생각할 수있는 가장 좋은 방법은 수동으로 중첩 여부를 확인하고 중첩 된 막대의 끝 날짜를 다른 시작 위치로 변경하는 것입니다 (이 경우에는 작은 막대의 끝 날짜를 큰 것으로 변경). 원하는 경우 예제를 만들 수 있습니다. – juvian

+0

예,이 솔루션에 관심이 있습니다. – plaidshirt

답변

2

이 같은 것을 할 수있는, 이미 데이터가 분류 한 고려 :

var data=[ 
    ['George Washington', new Date(1779, 3, 29), new Date(1790, 2, 3)], 
    ['George Washington', new Date(1789, 3, 29), new Date(1797, 2, 3)], 
    ['John Adams', new Date(1797, 2, 3), new Date(1801, 2, 3)], 
    ['Thomas Jefferson', new Date(1801, 2, 3), new Date(1809, 2, 3)], 

]; 

for(var i=1;i<data.length;i++){ // for each row 
    if(data[i-1][0]==data[i][0]){ //if the previous one has the same label 
     if(data[i-1][2] > data[i] [1]){ // if the previous end date is greater than the start date of current row 
       data[i-1][2]=data[i] [1] // set the previous end date to the start date of current row 
     } 
    } 
} 

당신은 여기에서 예를 볼 수 있습니다 : http://jsfiddle.net/9GbNP/33/

+0

필요한 데이터를 얻기 위해 SQL 쿼리를 사용하고 있습니다. JS로 이름을 정렬하고 그루브 (전체 중복으로 인해)했지만이 코드는 작동하지 않습니다. – plaidshirt

+0

글쎄, 당신은 당신의 데이터로 jsfiddle에서 예제를 만들 수 있습니까? – juvian

+0

SQL 쿼리입니다. 그래서, 어떻게 해야할지 모르겠어 ... – plaidshirt