<div>function Updater(obj)</div> <div>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var dotidx, endidx, filename, file_id, data;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>/* 문장이 속한 파일명, 아이디 추출 */</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>dotidx = obj.lastIndexOf('.');</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>endidx = obj.length;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>filename = obj.substring(0, dotidx);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>file_id = obj.substring(dotidx+1, endidx);</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>/* 저장된 데이터에서 filename 파일의 데이터 불러오기 */</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(var i=0; i<jsonData.length; i++)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if(jsonData[i].filename == filename)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>data = jsonData[i].data;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>/* 문장 성분 분석 */</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var isVerb;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var subject = "";</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var tab_name;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var tmpIdx;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var newTab = false;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>$(data.sentence).each(function(pindex, pvalue){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if(pvalue.id == file_id)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>$(pvalue.SRL).each(function(index, value){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//현재 탐지된 단어가 동사인지 확인</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>isVerb = false</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>$(pvalue.dependency).each(function(i, v){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if(v.id == value.word_id && v.label == "VP")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>isVerb = true;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>});</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//동사가 맞을 경우</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if(isVerb)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//동사를 뒷받침하는 단어들 분석</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var obj = [];</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>$(value.argument).each(function(i, v){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//동사의 주어에 해당하는 단어일 경우</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if(v.type == "ARG0")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if(v.text.indexOf("Apple") != -1)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>subject = "Apple";</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if(v.text.indexOf("Blue") != -1)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>subject = "Blue";</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if(v.text.indexOf("Cap") != -1)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>subject = "Cap";</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if(v.type == "ARG1")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>obj.push(v.text);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>});</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//기존에 존재하는 탭의 주어와 현재 문장의 주어를 비교</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if(subject == "")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>console.log("주어 없음!!");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(var i=0; i < tmpData.length; i++)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if(tmpData[i].tab_name == subject)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpIdx = i;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>break;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if(i == tmpData.length-1)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//새로운 탭 정보 저장</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpIdx = i+1;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData.push({tab_name: "", tab_Number: 0, groupNum: 0, nodes: [], edges: []});</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].tab_name = subject;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].groupNum++;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].nodes.push({name: "", group: 0, id: 0, type: "subject"});</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].nodes[0].name = subject;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>newTab = true;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tab_name = subject;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var newobj = [];</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(var i=0; i<obj.length; i++)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>newobj[i] = "new";</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//기존의 노드들과 현재 동사 비교</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var verbIdx, verb, verbGroup;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var end = tmpData[tmpIdx].nodes.length;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(var i=0; i<end; i++)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if( (tmpData[tmpIdx].nodes[i].type == "verb") && (tmpData[tmpIdx].nodes[i].name.indexOf(value.verb) != -1) )</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>console.log("동사 동일");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>verbIdx = i;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>verbGroup = tmpData[tmpIdx].nodes[i].group;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//목적어 존재 여부 확인</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(var k=0; k<tmpData[tmpIdx].nodes.length; k++)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>console.log("k는 "+k);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if(tmpData[tmpIdx].nodes[k].type == "object")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(var j=0; j<obj.length; j++)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>console.log("j는 "+j);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if(tmpData[tmpIdx].nodes[k].name == obj[j])</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>newobj[j] = "old";</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>break;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(var k=0; k<newobj.length; k++)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//새로운 목적어들만 새 노드로 추가</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>/*if(newobj[k] == "new")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{*/</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].nodes.push({name: "", group: 0, id: 0, type: "object"});</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].nodes[tmpData[tmpIdx].nodes.length-1].name = obj[k];</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].nodes[tmpData[tmpIdx].nodes.length-1].group = verbGroup;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].nodes[tmpData[tmpIdx].nodes.length-1].id = tmpData[tmpIdx].nodes.length-1;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].edges.push({source: 0, target: 0});</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].edges[tmpData[tmpIdx].edges.length-1].source = verbIdx</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].edges[tmpData[tmpIdx].edges.length-1].target = tmpData[tmpIdx].nodes.length-1;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>console.log(tmpData[tmpIdx].nodes[tmpData[tmpIdx].nodes.length-1]);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//<span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>break;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if(i == tmpData[tmpIdx].nodes.length-1)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//새로운 동사노드 추가</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>verbIdx = i + 1;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>$(pvalue.dependency).each(function(i, v){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if(v.id == value.word_id)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>verb = v.text;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>});</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].nodes.push({name: "", group: 0, id: 0, type: "verb"});</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].nodes[verbIdx].name = verb;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].nodes[verbIdx].group = tmpData[tmpIdx].groupNum++;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].nodes[verbIdx].id = verbIdx;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>verbGroup = tmpData[tmpIdx].nodes[verbIdx].group;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].edges.push({source: 0, target: 0});</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].edges[tmpData[tmpIdx].edges.length-1].target = verbIdx;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//목적어 노드 추가</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(var k=0; k<newobj.length; k++)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].nodes.push({name: "", group: 0, id: 0, type: "object"});</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].nodes[tmpData[tmpIdx].nodes.length-1].name = obj[k];</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].nodes[tmpData[tmpIdx].nodes.length-1].group = verbGroup;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].nodes[tmpData[tmpIdx].nodes.length-1].id = tmpData[tmpIdx].nodes.length-1;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].edges.push({source: 0, target: 0});</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].edges[tmpData[tmpIdx].edges.length-1].source = verbIdx</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].edges[tmpData[tmpIdx].edges.length-1].target = tmpData[tmpIdx].nodes.length-1;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>console.log(tmpData[tmpIdx].nodes[tmpData[tmpIdx].nodes.length-1]);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//isVerb = false;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>console.log("동사 없음!!!");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>});</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if(subject != "" && isVerb)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>/* 탭 추가 */</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var tabNum, svg;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//새 탭 추가</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if(newTab)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>console.log("탭추가");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tabNum = ++tab_Num;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tmpData[tmpIdx].tab_Number = tabNum;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>$("#tab").append('<span id="temp_tab" onclick="Tab(this.id, this);" style="padding: 0pt 5px; cursor: pointer;"><text>' + tab_name + '</text></span>');</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var temp;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>temp = document.getElementById("temp_tab");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>temp.id = tabNum;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>temp.name = tab_name;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>w = 1420;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>h = 883;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>svg = d3.select("#graph")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.append("svg")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.attr("width", w)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.attr("height", h)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.attr("id", "cont_" + tabNum)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.attr("display", "none");</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>newTab = false;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>isVerb = false;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>tabNum = tmpData[tmpIdx].tab_Number;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var deleteTab = document.getElementById("cont_" + tabNum);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>$(deleteTab).remove();</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>w = 1420;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>h = 883;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>svg = d3.select("#graph")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.append("svg")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.attr("width", w)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.attr("height", h)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.attr("id", "cont_" + tabNum)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.attr("display", "block");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>console.log(tmpData[tmpIdx]);</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>/* 그래프 그리기 */</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>console.log(tmpData[tmpIdx].nodes);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var force = d3.layout.force()</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.nodes(tmpData[tmpIdx].nodes)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.links(tmpData[tmpIdx].edges)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.size([w, h])</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.linkDistance([150])</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.charge([-1200])</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.gravity(.07)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.start();</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var colors = d3.scale.category20();</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//Create edges as lines</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var edges = svg.selectAll("line")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.data(tmpData[tmpIdx].edges)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.enter()</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.append("line")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.style("stroke", "#ccc")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.style("stroke-width", 2);</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//Create nodes as circles</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var nodes = svg.selectAll("circle")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.data(tmpData[tmpIdx].nodes)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.enter()</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.append("circle")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.attr("r", 40)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.style("fill", function(d, i) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return colors(d.group);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>})</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.call(force.drag);</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>var text = svg.selectAll("text")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.data(tmpData[tmpIdx].nodes)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.enter()</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.append("text")</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.text(function(d){ return d.name });</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//Every time the simulation "ticks", this will be called</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>force.on("tick", function() {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>edges.attr("x1", function(d) { return d.source.x; })</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> .attr("y1", function(d) { return d.source.y; })</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> .attr("x2", function(d) { return d.target.x; })</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> .attr("y2", function(d) { return d.target.y; });</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>nodes.attr("cx", function(d) { return d.x; })</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> .attr("cy", function(d) { return d.y; });</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>text.attr("x", function(d) { return d.x })</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.attr("y", function(d) { return d.y })</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>.attr("text-anchor", "middle");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>});</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>console.log(file_id);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>});</div> <div>}</div> <div><br></div> <div><br></div> <div>이게 코드인데 여기서 node의 좌표값이 전부 NaN으로 설정되는 노드도 있네요..</div> <div>왜그런거죠?</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.