2013-09-24 2 views
0

d3.js를 사용하여 mysql 테이블의 관계를 그래프로 표시하려고합니다. 다음은 내가 달성하고자하는 것을 설명하는 예제 테이블입니다.mysql 테이블의 간단한 d3.js 관계 그래프

+----+---------+-------+------+ 
| id | name | entry | type | 
+----+---------+-------+------+ 
| 1 | ObjectA | 100 | ID1 | 
| 2 | ObjectA | 101 | ID1 | 
| 3 | ObjectB | 101 | ID1 | 
| 4 | ObjectB | 102 | ID1 | 
| 5 | ObjectC | 102 | ID1 | 
| 6 | ObjectC | 100 | ID1 | 
| 7 | ObjectA | 200 | ID2 | 
| 8 | ObjectA | 201 | ID2 | 
| 9 | ObjectB | 201 | ID2 | 
| 10 | ObjectB | 202 | ID2 | 
| 11 | ObjectC | 202 | ID2 | 
| 12 | ObjectC | 200 | ID2 | 
+----+---------+-------+------+ 

ObjectA 100

의 ObjectA ID1 연결 100 ID1을 보유 102
ObjectC의 ObjectC ID1 연결 102 ID1을 보유 101
ObjectB의 ObjectB ID1 연결 101 ID1을 보유

목표는 ObjectA, ObjectB, ObjectC를 ID1과 ID2 관계를 나타내는 파란색과 빨간색 선으로 서로 연결된 세 개의 개별 원으로 표시하는 것입니다.

지금까지 나는 비디오와 물건에서 널리 읽었던 json으로 테이블을 출력하고 있습니다. 나는 이것을 위해 PHP를 사용하고있다. HTML 파일

d3.json(
    "mysql_table_to_json.php?table=objects", 
     function (error, json) { 
then something.. 
}) 

무언가 부분 내에서 내가 파악하지 않은 아직 .. 그리고 난 내가 '로 자바 스크립트 주위에 내 머리를 정리하기가 정말 열심히 찾을 것을 읽는

[ 
{ 
    "id": "1", 
    "name": "ObjectA", 
    "entry": "100", 
    "type": "ID1", 
}, 
etc.. 

다음 내가 PHP와 파이썬 코딩에 익숙하다. 나는 정말로 정말로 somone가 나를 불쌍히 여길 것이고, 내가 해킹을 시작할 수있는 작은 예를 채찍질하기를 바랬다.

그래서 모든 아이디어와 진행 방법에 대한 예제는 대단히 감사하겠습니다.

답변

2

귀하의 설명에 맞게 으로 보이는 시각화를 만들기 위해 위에있는 데이터를 사용했습니다. 당신은 그것을 here 찾을 수 있습니다. 분당 꽤 지루하지만 더 많은 데이터가 더 재미있을 것이라고 확신합니다. 이 예제로 작업 할 형식으로 들어가기 위해서는 약간의 데이터 작업이 필요했지만 필통 (pythons)은 그러한 종류의 일에 대한 꽤 좋은 도구이므로 문제가있을 수 있습니다.

내가 당신을 읽을 때 생각한 또 다른 것은 병렬 세트이고 카이 창 (Kai Chang)은 here이라는 플러그인을 만들었습니다.

아직 시각화가 데이터 세트 및 원하는 결과에 어울리는 지에 대한 아이디어가 더 필요하면 d3 examples page을 참조하시기 바랍니다. 그리고 그곳에는 정말로 멋진 것들이 있습니다.

+0

굉장! 고마워 :) 큰 도움이 – CptAhab

+0

그 예는 많은 도움이되었습니다! 데이터를 처리하기 위해 중첩 루프를 공식화하는 데 여전히 문제가 있습니다. 내가 브라우저에서 자바 스크립트로 이것을하고 싶습니다 이후 루프에 대한 믹스에 서버 측 PHP 코드를 혼합하는 충동과 싸우고 있어요. – CptAhab

+0

또는 다른 방법으로 mysql에 테이블을 생성하고 현재 소스/대상 테이블을 가지고있는 테이블을 변환하고 js로 전달하는 PHP를 사용할 수 있습니다. 실제로 100 개 객체를 원한다면 확장성에 대한 최선의 접근법이 무엇인지 확실하지 않습니다. 각자 평균 5 개의 관계가 있거나 어리석은 것 같습니다. – CptAhab