Last active
April 15, 2016 15:44
-
-
Save csesivakumar/31e23b875f260622f8f7da3ae380958c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nodes":[ | |
{"PersonId":"1","Forename":"Tom","Surname":"Flynn","Gender":"Male","Weight":2}, | |
{"PersonId":"2","Forename":"Carl","Surname":"Phillips","Gender":"Male","Weight":2}, | |
{"PersonId":"3","Forename":"Tom","Surname":"Jones","Gender":"Male","Weight":3}, | |
{"PersonId":"5","Forename":"Jerome","Surname":"Haro","Gender":"Male","Weight":2}, | |
{"PersonId":"6","Forename":"Melvin","Surname":"Herbers","Gender":"Male","Weight":2}, | |
{"PersonId":"7","Forename":"Fred","Surname":"Bronson","Gender":"Male","Weight":4}, | |
{"PersonId":"8","Forename":"Mary Ann","Surname":"McClain","Gender":"Female","Weight":2}, | |
{"PersonId":"9","Forename":"John","Surname":"Spotts","Gender":"Male","Weight":2}, | |
{"PersonId":"10","Forename":"Kenny","Surname":"Crowe","Gender":"Male","Weight":2}, | |
{"PersonId":"11","Forename":"Jim","Surname":"Rostow","Gender":"Male","Weight":2}, | |
{"PersonId":"12","Forename":"Miguel","Surname":"Motta","Gender":"Male","Weight":3}, | |
{"PersonId":"13","Forename":"Earl","Surname":"Lamb","Gender":"Male","Weight":2}, | |
{"PersonId":"16","Forename":"Freddy","Surname":"Millan","Gender":"Male","Weight":2}, | |
{"PersonId":"17","Forename":"Larry","Surname":"Brown","Gender":"Male","Weight":2}, | |
{"PersonId":"18","Forename":"Susan","Surname":"Steingasser","Gender":"Female","Weight":2}, | |
{"PersonId":"19","Forename":"James","Surname":"Mills","Gender":"Male","Weight":2}, | |
{"PersonId":"20","Forename":"Kathleen","Surname":"Schardt","Gender":"Female","Weight":2}, | |
{"PersonId":"21","Forename":"Laura","Surname":"Frankland","Gender":"Female","Weight":2}, | |
{"PersonId":"22","Forename":"Jerry","Surname":"Phillips","Gender":"Male","Weight":2}, | |
{"PersonId":"23","Forename":"Frederic","Surname":"Puhan","Gender":"Male","Weight":2}, | |
{"PersonId":"24","Forename":"Larry","Surname":"Walters","Gender":"Male","Weight":2}, | |
{"PersonId":"25","Forename":"Rocky","Surname":"Midyett","Gender":"Male","Weight":2}, | |
{"PersonId":"26","Forename":"Richard","Surname":"Tatge","Gender":"Male","Weight":3}, | |
{"PersonId":"27","Forename":"Doug","Surname":"Nikkel","Gender":"Male","Weight":3}, | |
{"PersonId":"28","Forename":"Gerald","Surname":"Hunter","Gender":"Male","Weight":2}, | |
{"PersonId":"29","Forename":"Terry","Surname":"Ford","Gender":"Unknown","Weight":2}, | |
{"PersonId":"30","Forename":"Vincent","Surname":"Stuart","Gender":"Male","Weight":6}, | |
{"PersonId":"31","Forename":"Nick","Surname":"Bado","Gender":"Male","Weight":2}, | |
{"PersonId":"32","Forename":"Ronald","Surname":"Ross","Gender":"Male","Weight":2}, | |
{"PersonId":"33","Forename":"William","Surname":"Lee","Gender":"Male","Weight":2}, | |
{"PersonId":"34","Forename":"Lizette","Surname":"Leveille","Gender":"Female","Weight":2}, | |
{"PersonId":"35","Forename":"Stephen","Surname":"Hall","Gender":"Male","Weight":2}, | |
{"PersonId":"36","Forename":"Steve","Surname":"Chapman","Gender":"Male","Weight":5}, | |
{"PersonId":"37","Forename":"Paul","Surname":"Bakulski","Gender":"Male","Weight":2}, | |
{"PersonId":"38","Forename":"Christine","Surname":"Austin","Gender":"Female","Weight":2}, | |
{"PersonId":"39","Forename":"Donald","Surname":"Ensign","Gender":"Male","Weight":2}, | |
{"PersonId":"40","Forename":"William","Surname":"Bailey","Gender":"Male","Weight":2}, | |
{"PersonId":"41","Forename":"Kenneth","Surname":"Gallagher","Gender":"Male","Weight":4}, | |
{"PersonId":"42","Forename":"Kathleen","Surname":"Neff","Gender":"Female","Weight":2}, | |
{"PersonId":"43","Forename":"Steve","Surname":"Brown","Gender":"Male","Weight":2}, | |
{"PersonId":"44","Forename":"Barbara","Surname":"Hannah","Gender":"Female","Weight":2}, | |
{"PersonId":"45","Forename":"Brian","Surname":"Yates","Gender":"Male","Weight":4}, | |
{"PersonId":"46","Forename":"John","Surname":"Gunther","Gender":"Male","Weight":2}, | |
{"PersonId":"47","Forename":"Philip","Surname":"Rizzo","Gender":"Male","Weight":2}, | |
{"PersonId":"48","Forename":"Norman","Surname":"Penovich","Gender":"Male","Weight":2}, | |
{"PersonId":"49","Forename":"Jack","Surname":"Wickman","Gender":"Male","Weight":2}, | |
{"PersonId":"50","Forename":"Mike","Surname":"Murano","Gender":"Male","Weight":2}, | |
{"PersonId":"10001","Forename":"Walmart","Surname":"","Weight":1,"NodeColor":"#000000","Name":"Walmart","Type":"2","PubDate":1964}, | |
{"PersonId":"10002","Forename":"Kohls","Surname":"","Weight":4.1,"NodeColor":"#000000","Name":"Kohls","Type":"2","PubDate":1964} | |
], | |
"links":[ | |
{"source":"1","target":"10002","PubDate":1964}, | |
{"source":"3","target":"10002","PubDate":1964}, | |
{"source":"5","target":"10002","PubDate":1964}, | |
{"source":"6","target":"10002","PubDate":1964}, | |
{"source":"2","target":"10002","PubDate":1964}, | |
{"source":"7","target":"10002","PubDate":1965}, | |
{"source":"8","target":"10002","PubDate":1964}, | |
{"source":"9","target":"10002","PubDate":1964}, | |
{"source":"10","target":"10002","PubDate":1964}, | |
{"source":"11","target":"10002","PubDate":1964}, | |
{"source":"12","target":"10002","PubDate":1964}, | |
{"source":"12","target":"10002","PubDate":1964}, | |
{"source":"13","target":"10002","PubDate":1964}, | |
{"source":"16","target":"10002","PubDate":1964}, | |
{"source":"17","target":"10002","PubDate":1964}, | |
{"source":"18","target":"10002","PubDate":1964}, | |
{"source":"19","target":"10002","PubDate":1964}, | |
{"source":"20","target":"10002","PubDate":1964}, | |
{"source":"21","target":"10002","PubDate":1964}, | |
{"source":"22","target":"10002","PubDate":1964}, | |
{"source":"23","target":"10002","PubDate":1964}, | |
{"source":"24","target":"10002","PubDate":1964}, | |
{"source":"25","target":"10002","PubDate":1964}, | |
{"source":"26","target":"10002","PubDate":1964}, | |
{"source":"27","target":"10002","PubDate":1964}, | |
{"source":"28","target":"10002","PubDate":1964}, | |
{"source":"29","target":"10002","PubDate":1964}, | |
{"source":"30","target":"10002","PubDate":1964}, | |
{"source":"31","target":"10002","PubDate":1964}, | |
{"source":"32","target":"10002","PubDate":1964}, | |
{"source":"33","target":"10002","PubDate":1964}, | |
{"source":"34","target":"10002","PubDate":1964}, | |
{"source":"35","target":"10002","PubDate":1964}, | |
{"source":"36","target":"10002","PubDate":1964}, | |
{"source":"37","target":"10002","PubDate":1965}, | |
{"source":"38","target":"10002","PubDate":1965}, | |
{"source":"39","target":"10002","PubDate":1965}, | |
{"source":"40","target":"10002","PubDate":1965}, | |
{"source":"41","target":"10002","PubDate":1965}, | |
{"source":"36","target":"10002","PubDate":1965}, | |
{"source":"42","target":"10002","PubDate":1965}, | |
{"source":"43","target":"10002","PubDate":1965}, | |
{"source":"44","target":"10002","PubDate":1965}, | |
{"source":"45","target":"10002","PubDate":1965}, | |
{"source":"46","target":"10002","PubDate":1965}, | |
{"source":"47","target":"10002","PubDate":1965}, | |
{"source":"48","target":"10002","PubDate":1965}, | |
{"source":"49","target":"10002","PubDate":1965}, | |
{"source":"50","target":"10002","PubDate":1965} | |
] | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
</style> | |
<body> | |
<table style="margin-left:10px""> | |
<tr> | |
<td valign="top"> | |
<div style="margin-left:5px; margin-top:50px;"> | |
<a href="#" id = "1964" class="myButton" BType="year" Enabled = "0" onclick="Update_Node(this.id,1964)">1964</a><br><br> | |
<a href="#" id = "1965" class="myButton" BType="year" Enabled = "0" onclick="Update_Node(this.id,1965)">1965</a><br><br> | |
</div> | |
</td> | |
<td> | |
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> | |
<div class="graph" style="margin-left:25px"></div> | |
</td> | |
</tr> | |
</table> | |
<script> | |
var width = 700, | |
height = 600, | |
radius = 6; | |
var color = d3.scale.category20(); | |
var Updatededges = []; | |
var Updatednodes = []; | |
var svg = d3.select("div.graph").append("svg") | |
.attr("width", width) | |
.attr("height", height); | |
var edges = []; | |
var nodes = []; | |
var series = [0,0,0,0,0,0,0,0,0,0,0]; | |
var year = [0,0,0,0,0,0,0,0,0]; | |
var force = d3.layout.force() | |
.charge(-240) | |
.gravity(0.2) | |
.linkDistance(30) | |
.size([width, height]); | |
function Update_Node(buttonid,ruleValue) | |
{ | |
Updatededges = edges.slice(); | |
Updatednodes = []; | |
var Clickbutton = document.getElementById(buttonid); | |
var status = Clickbutton.getAttribute("Enabled"); | |
var type = Clickbutton.getAttribute("Btype"); | |
if (status =="0"){ | |
Clickbutton.setAttribute("Enabled","1"); | |
Clickbutton.style.color = "Red";} | |
if (status =="1"){ | |
Clickbutton.setAttribute("Enabled","0"); | |
Clickbutton.style.color = "Black";} | |
var buttons = document.getElementsByTagName('a'); | |
for(var j = 0; j < buttons.length; j++) { | |
var button = buttons[j]; | |
var status = button.getAttribute("Enabled"); | |
var type = button.getAttribute("Btype"); | |
if (type=="year" && status=="1"){ | |
for(var i = 0; i < Updatededges.length; i++) | |
{ | |
var obj = Updatededges[i]; | |
if(obj.PubDate == button.id){ | |
Updatededges.splice(i, 1); | |
i--; | |
} | |
} | |
} | |
} | |
for(var i = 0; i < Updatededges.length; i++) | |
{ | |
var obj = Updatededges[i]; | |
if(Updatednodes.indexOf(obj.source) == -1){ | |
Updatednodes.push(obj.source);} | |
if(Updatednodes.indexOf(obj.target) == -1){ | |
Updatednodes.push(obj.target); | |
} | |
} | |
console.log(Updatednodes.length); | |
var gravity = 0.2 | |
force | |
.gravity(gravity) | |
render(Updatednodes,Updatededges) | |
} | |
d3.json("Cdata.json", function(error, graph) { | |
if (error) throw error; | |
graph.links.forEach(function(e) { | |
var sourceNode = graph.nodes.filter(function(n) { return n.PersonId === e.source; })[0], | |
targetNode = graph.nodes.filter(function(n) { return n.PersonId === e.target; })[0]; | |
edges.push({source: sourceNode, target: targetNode, PubDate : e.PubDate}); | |
}); | |
nodes = graph.nodes; | |
render(graph.nodes,edges) | |
}); | |
function render(nodelist,links) { | |
force | |
.links(links) | |
.nodes(nodelist) | |
.start(); | |
var link = svg.selectAll(".link").data(links); | |
link.enter().append("line").attr("class", "link"); | |
link.style("stroke-opacity", 0.5) | |
.style("stroke-width", function(d) { return 1.5}) | |
.style("stroke", function(d) { if (d.target.PersonId >= 10001) return "#D1A799";}); | |
link.exit().remove(); | |
var node = svg.selectAll(".node").data(nodelist); | |
node.enter().append("circle") | |
.attr("class", "node") | |
.append('title') | |
.append('text'); | |
node | |
.attr("r", function(d) { return d.Weight; }); | |
node | |
.style("fill", function(d) {if (d.Type=="2") return d.NodeColor; if (d.Gender == "Male") return "#889CB0"; else if (d.Gender == "Female") return "#851B1B"; else return "#BFA915"}) | |
.style("stroke", "#382E44") | |
.style("stroke-width", 0.05) | |
.call(force.drag); | |
node.select("title") | |
.text(function(d) { return d.Forename+" "+d.Surname+" ("+d.Weight+")"; }); | |
node.select("text") | |
.attr("dx", 12) | |
.attr("dy", ".35em") | |
.style("font-weight", "bold") | |
.style("fill", d3.rgb(29,23,23)) | |
.style("fill", d3.rgb(29,23,23)) | |
.text(function(d) { return d.Name}); | |
node.exit().remove(); | |
force.on("tick", function() { | |
link.attr("x1", function(d) { return d.source.x; }) | |
.attr("y1", function(d) { return d.source.y; }) | |
.attr("x2", function(d) { return d.target.x; }) | |
.attr("y2", function(d) { return d.target.y; }); | |
node.attr("transform", function(d) { | |
return 'translate(' + [d.x, d.y] + ')'; | |
}); | |
}); | |
} | |
</script> | |
</body> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment