2012-09-20 2 views
8

동적 재로드가 d3에서 작동하도록하고 데이터베이스에서 데이터를 새로 고치는 방법을 찾는 데 문제가 있습니다.데이터베이스의 외부 데이터를 d3.js에 동적으로로드하는 중

내가 초마다 변경해야 값을 포함하는 배열을 가지고

VAR 데이터 = [1,2,3,4];

필자의 초기 스크립트에서는 데이터베이스에서 데이터를 가져 와서 배열을 설정하고 페이지를 다시로드하면 문제가 없지만 d3의 새로 고침 기능을 사용하여 새 데이터를 가져오고 싶습니다. 다이어그램을 다시 그리십시오.

저는 js와 d3을 완전히 처음 보았습니다. 그래서 어떤 제안이라도 도움이 될 것입니다.

jQuery의 get 명령을 사용하여 값을 출력하는 외부 PHP 스크립트를 호출했지만 작동하지 않는 것으로 보입니다.

기본적으로 Google 애널리틱스 실시간 디스플레이에서 막 대형 차트를 복제하려고합니다.

답변

1

첫째로, 당신은 서버에 페이지를 필요로하는 JSON 형식으로 출력 할 데이터 *. 해당 페이지가 있으면 브라우저에서 호출하면 인코딩 된 데이터가 화면에 표시됩니다 (페이지가 올바르게 호스트되고 데이터가 반환됨을 알 수 있음)

다음은 D3 문서의 간단한 예를 따릅니다. 링크 Yeco 게시했습니다. 더미 URL을 새 데이터 페이지의 주소로 바꾸고 거기에 고유 한 함수 호출을 사용하여 새 데이터로 차트를 다시 그려야합니다.

* 참고 : PHP에 익숙하지 않지만 기본 JSON 인코더가 있거나 라이브러리가 인터넷에서 사용 가능해야합니다. 또한 응답 MIME 형식을 적절히 설정해야합니다. 즉, 빠른 Google이 올바른 MIME 형식을 제공해야합니다. '응용 프로그램/json'과 같은 것입니다.하지만 내 머리 꼭대기를 기억할 수는 없습니다.

+0

좋아, 그래서 나는 다음을 출력하는 별도의 스크립트가 있습니다 '[110,157,131,111,136]' 하지만 d3.json를 사용하려고하면 그냥 오류를 얻을. –

+0

그래, 전체 draw 메소드가 d3.json의 함수 안에서 작동하도록 변경. 감사! –

관련 문제