2012-10-02 3 views
4

gRaphael JavaScript 라인 차트 라이브러리에 문제가 있습니다.gRaphael - 선형 차트 애니메이트가 실패합니다.

5 개의 열 (처리 시간, 대기 시간, 처리 시간, 닫힌 위치, # 분)이있는 CSV 파일에서 선형 차트를 작성합니다.

이전에는 애니메이션없이 전체 차트를 그릴 수있었습니다. 그것은 정확하게 4 개의 라인을 모두 가지고있었습니다.

이제 내 코드가 애니메이션 기능에 실패합니다. 여기에 오류가 있습니다 :

Uncaught TypeError: Object # has no method 'animate'

jQuery가 어떻게 든 애니메이션 기능을 망쳐 놨다 고 가정합니다.

 function animateChart(newX, newW, newInT, newC, newInL){ 
      var chart2 = paper.linechart(
       20, 20, // padding 
       newX.length, 400, // dimensions 
       newX, [newW, newInT, newC, newInL] // values 
      ); 

      for (i = 0; i < chart.lines.length; i++){ 
       elem = chart.lines[i][0]; 
       elem.animate({ path: chart2.lines[i][0].getAttribute("d") }, 200); 
      } 

      chart2.remove(); 
     } 

전체 코드 :

http://pastebin.com/YmvkrmQ3

나는 다음과 같은 라이브러리를 위해,로드 한 :

  1. 라파엘 - min.js
  2. g.raphael-min.js
  3. g.line.min.js
  4. jquery.js

미리 도움을 청하십시오.

업데이트 : 문제는 애니메이션 방식에 있습니다. path 요소에서 메서드를 호출하더라도 오류가 발생합니다. Raphael이 경로 요소를 경로 요소로 인식하지 못하는 이유는 아직도 모르겠습니다.

jQuery를 비활성화하고 (바닐라 javascript로 아약스 기능을 대체하는) 시도했지만 도움이되지 않았습니다.

+2

jsfiddle.net 예제 – Neil

+0

을 수행하고 어떤 유형이 'elem'인지 알아 내려고 할 수 있습니까? 아마도 대부분은 단지 라파엘 경로 객체가 아닙니다. – Qnan

+0

요소는 경로 요소입니다. 그것은 jQuery 네임 스페이스가 아니지만 jQuery가 여전히 요소에서 자체 animate() 함수를 실행하려고 시도하는 것처럼 보입니다. CSV를 업로드해야하고 예제에서 4 개의 라이브러리를 사용하기 때문에 쉽게 바이올린을 만들 수 없습니다. 현재 파일을 어딘가에 게시 할 수 있는지 확인합니다. – Klemola

답변

3

아마 Raphael 경로 요소가 아닌 SVG 경로 요소가 있습니다. elem = chart.lines[i][0]; 끝 부분에 아마도 [0] 일 것입니다.

+0

고마워요. 나는 어리 석었지만 안도감을 느낀다. – Klemola

+0

@Klemola 우리 모두 거기에있어 : ​​ – Plynx

+0

누군가가 이것에 정교한 수 있습니까? pastebin 링크가 작동하지 않습니다. 동일한 기술을 사용하여 gRaphael 선형 차트를 애니메이션으로 만들려고합니다. – AndrewHenderson