Skip to content

Instantly share code, notes, and snippets.

@mohdsanadzakirizvi
Last active January 7, 2021 23:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save mohdsanadzakirizvi/6fc325042ce110e1afc1a7124d087130 to your computer and use it in GitHub Desktop.
Save mohdsanadzakirizvi/6fc325042ce110e1afc1a7124d087130 to your computer and use it in GitHub Desktop.
Game of Thrones Force Directed Graph
license: gpl-3.0
height: 700
width: 960
scrolling: no
border: no

This is a visualization of the relationships among Game Of Thrones characters using a force directed graph in D3 which is discussed in this blog.

About the data set

The dataset for this visualization is based on Andrew Beveridge’s dataset of “A Storm of Swords”, third book in the series which I extracted and formatted to suit D3's needs. The influence of a character is calculated by the sum of incoming and outgoing interactions.

Few things to note about the visualization:

  • The nodes represent the characters and the links their interactions.

  • The size of node and name represents influence of character. Tyrion, way to go!

  • The thickness of link denotes the weight of the relationship between the characters. See the thick link between Jaime & Brienne, Jon & Sam, Bran & Hodor, Daenerys & Sir Jorah ? :D and how can you forget Jon and Ygritte! :P

  • The node is color coded based on an influential character’s current affiliation and supporting characters around it. There you go Jon, Daenerys, Tyrion, Robb, Bran, Arya, Stannis :)

{"nodes":[{"character":"Grenn","id":0,"influence":4,"zone":0},{"character":"Samwell","id":1,"influence":15,"zone":0},{"character":"Jaime","id":2,"influence":24,"zone":3},{"character":"Robert","id":3,"influence":18,"zone":3},{"character":"Tyrion","id":4,"influence":36,"zone":3},{"character":"Tywin","id":5,"influence":22,"zone":3},{"character":"Mance","id":6,"influence":12,"zone":0},{"character":"Oberyn","id":7,"influence":7,"zone":3},{"character":"Anguy","id":8,"influence":2,"zone":5},{"character":"Beric","id":9,"influence":6,"zone":5},{"character":"Bran","id":10,"influence":14,"zone":2},{"character":"Brynden","id":11,"influence":8,"zone":1},{"character":"Cersei","id":12,"influence":20,"zone":3},{"character":"Gendry","id":13,"influence":4,"zone":5},{"character":"Gregor","id":14,"influence":12,"zone":3},{"character":"Joffrey","id":15,"influence":18,"zone":3},{"character":"Jon","id":16,"influence":26,"zone":0},{"character":"Rickon","id":17,"influence":6,"zone":2},{"character":"Roose","id":18,"influence":4,"zone":1},{"character":"Sandor","id":19,"influence":13,"zone":5},{"character":"Thoros","id":20,"influence":5,"zone":5},{"character":"Loras","id":21,"influence":9,"zone":3},{"character":"Barristan","id":22,"influence":6,"zone":6},{"character":"Illyrio","id":23,"influence":1,"zone":6},{"character":"Hodor","id":24,"influence":4,"zone":2},{"character":"Jojen","id":25,"influence":4,"zone":2},{"character":"Luwin","id":26,"influence":2,"zone":2},{"character":"Meera","id":27,"influence":5,"zone":2},{"character":"Nan","id":28,"influence":2,"zone":2},{"character":"Theon","id":29,"influence":4,"zone":2},{"character":"Podrick","id":30,"influence":5,"zone":3},{"character":"Lothar","id":31,"influence":5,"zone":1},{"character":"Walder","id":32,"influence":8,"zone":1},{"character":"Brienne","id":33,"influence":7,"zone":3},{"character":"Edmure","id":34,"influence":8,"zone":1},{"character":"Hoster","id":35,"influence":3,"zone":1},{"character":"Jeyne","id":36,"influence":2,"zone":1},{"character":"Lysa","id":37,"influence":10,"zone":3},{"character":"Petyr","id":38,"influence":7,"zone":3},{"character":"Robb","id":39,"influence":25,"zone":1},{"character":"Roslin","id":40,"influence":4,"zone":1},{"character":"Sansa","id":41,"influence":26,"zone":3},{"character":"Stannis","id":42,"influence":14,"zone":4},{"character":"Bronn","id":43,"influence":4,"zone":3},{"character":"Elia","id":44,"influence":5,"zone":3},{"character":"Ilyn","id":45,"influence":6,"zone":3},{"character":"Meryn","id":46,"influence":7,"zone":3},{"character":"Pycelle","id":47,"influence":4,"zone":3},{"character":"Shae","id":48,"influence":5,"zone":3},{"character":"Varys","id":49,"influence":7,"zone":3},{"character":"Karl","id":50,"influence":1,"zone":0},{"character":"Drogo","id":51,"influence":4,"zone":6},{"character":"Irri","id":52,"influence":4,"zone":6},{"character":"Aegon","id":53,"influence":1,"zone":6},{"character":"Belwas","id":54,"influence":4,"zone":6},{"character":"Daario","id":55,"influence":4,"zone":6},{"character":"Jorah","id":56,"influence":6,"zone":6},{"character":"Kraznys","id":57,"influence":1,"zone":6},{"character":"Missandei","id":58,"influence":2,"zone":6},{"character":"Rakharo","id":59,"influence":1,"zone":6},{"character":"Rhaegar","id":60,"influence":6,"zone":6},{"character":"Viserys","id":61,"influence":3,"zone":6},{"character":"Worm","id":62,"influence":1,"zone":6},{"character":"Cressen","id":63,"influence":1,"zone":4},{"character":"Salladhor","id":64,"influence":1,"zone":4},{"character":"Arya","id":65,"influence":19,"zone":5},{"character":"Catelyn","id":66,"influence":18,"zone":1},{"character":"Craster","id":67,"influence":5,"zone":0},{"character":"Balon","id":68,"influence":6,"zone":3},{"character":"Qyburn","id":69,"influence":1,"zone":3},{"character":"Renly","id":70,"influence":8,"zone":3},{"character":"Tommen","id":71,"influence":5,"zone":3},{"character":"Alliser","id":72,"influence":3,"zone":0},{"character":"Bowen","id":73,"influence":2,"zone":0},{"character":"Kevan","id":74,"influence":6,"zone":3},{"character":"Margaery","id":75,"influence":7,"zone":3},{"character":"Myrcella","id":76,"influence":4,"zone":3},{"character":"Aemon","id":77,"influence":5,"zone":0},{"character":"Dalla","id":78,"influence":3,"zone":0},{"character":"Eddison","id":79,"influence":3,"zone":0},{"character":"Gilly","id":80,"influence":4,"zone":0},{"character":"Janos","id":81,"influence":6,"zone":0},{"character":"Melisandre","id":82,"influence":4,"zone":4},{"character":"Orell","id":83,"influence":1,"zone":0},{"character":"Qhorin","id":84,"influence":5,"zone":0},{"character":"Rattleshirt","id":85,"influence":4,"zone":0},{"character":"Styr","id":86,"influence":2,"zone":0},{"character":"Val","id":87,"influence":4,"zone":0},{"character":"Ygritte","id":88,"influence":4,"zone":0},{"character":"Lancel","id":89,"influence":1,"zone":3},{"character":"Olenna","id":90,"influence":2,"zone":3},{"character":"Marillion","id":91,"influence":3,"zone":3},{"character":"Robert Arryn","id":92,"influence":3,"zone":3},{"character":"Davos","id":93,"influence":5,"zone":4},{"character":"Ellaria","id":94,"influence":2,"zone":3},{"character":"Mace","id":95,"influence":3,"zone":3},{"character":"Ramsay","id":96,"influence":1,"zone":1},{"character":"Rickard","id":97,"influence":2,"zone":1},{"character":"Chataya","id":98,"influence":2,"zone":3},{"character":"Doran","id":99,"influence":1,"zone":3},{"character":"Aerys","id":100,"influence":4,"zone":3},{"character":"Amory","id":101,"influence":1,"zone":3},{"character":"Daenerys","id":102,"influence":14,"zone":6},{"character":"Eddard","id":103,"influence":12,"zone":5},{"character":"Jon Arryn","id":104,"influence":2,"zone":3},{"character":"Shireen","id":105,"influence":1,"zone":4},{"character":"Walton","id":106,"influence":1,"zone":3}],"links":[{"source":77,"target":0,"weight":5},{"source":77,"target":1,"weight":31},{"source":100,"target":2,"weight":18},{"source":100,"target":3,"weight":6},{"source":100,"target":4,"weight":5},{"source":100,"target":5,"weight":8},{"source":72,"target":6,"weight":5},{"source":101,"target":7,"weight":5},{"source":65,"target":8,"weight":11},{"source":65,"target":9,"weight":23},{"source":65,"target":10,"weight":9},{"source":65,"target":11,"weight":6},{"source":65,"target":12,"weight":5},{"source":65,"target":13,"weight":43},{"source":65,"target":14,"weight":7},{"source":65,"target":2,"weight":11},{"source":65,"target":15,"weight":6},{"source":65,"target":16,"weight":7},{"source":65,"target":17,"weight":8},{"source":65,"target":3,"weight":4},{"source":65,"target":18,"weight":5},{"source":65,"target":19,"weight":46},{"source":65,"target":20,"weight":18},{"source":65,"target":4,"weight":5},{"source":68,"target":21,"weight":4},{"source":54,"target":22,"weight":18},{"source":54,"target":23,"weight":10},{"source":9,"target":8,"weight":4},{"source":9,"target":13,"weight":4},{"source":9,"target":20,"weight":21},{"source":10,"target":24,"weight":96},{"source":10,"target":25,"weight":46},{"source":10,"target":16,"weight":12},{"source":10,"target":26,"weight":4},{"source":10,"target":27,"weight":54},{"source":10,"target":28,"weight":14},{"source":10,"target":17,"weight":35},{"source":10,"target":1,"weight":11},{"source":10,"target":29,"weight":11},{"source":33,"target":21,"weight":7},{"source":43,"target":14,"weight":5},{"source":43,"target":30,"weight":19},{"source":11,"target":31,"weight":4},{"source":11,"target":32,"weight":5},{"source":66,"target":10,"weight":4},{"source":66,"target":33,"weight":7},{"source":66,"target":11,"weight":8},{"source":66,"target":12,"weight":4},{"source":66,"target":34,"weight":16},{"source":66,"target":35,"weight":9},{"source":66,"target":2,"weight":19},{"source":66,"target":36,"weight":10},{"source":66,"target":37,"weight":8},{"source":66,"target":38,"weight":5},{"source":66,"target":39,"weight":43},{"source":66,"target":18,"weight":4},{"source":66,"target":40,"weight":6},{"source":66,"target":41,"weight":8},{"source":66,"target":42,"weight":4},{"source":66,"target":4,"weight":5},{"source":66,"target":32,"weight":19},{"source":12,"target":33,"weight":5},{"source":12,"target":43,"weight":4},{"source":12,"target":44,"weight":4},{"source":12,"target":14,"weight":6},{"source":12,"target":45,"weight":7},{"source":12,"target":2,"weight":36},{"source":12,"target":15,"weight":23},{"source":12,"target":46,"weight":10},{"source":12,"target":47,"weight":4},{"source":12,"target":3,"weight":16},{"source":12,"target":19,"weight":6},{"source":12,"target":48,"weight":4},{"source":12,"target":4,"weight":46},{"source":12,"target":49,"weight":4},{"source":67,"target":50,"weight":6},{"source":55,"target":51,"weight":4},{"source":55,"target":52,"weight":5},{"source":102,"target":53,"weight":8},{"source":102,"target":22,"weight":20},{"source":102,"target":54,"weight":26},{"source":102,"target":55,"weight":14},{"source":102,"target":51,"weight":18},{"source":102,"target":52,"weight":17},{"source":102,"target":56,"weight":47},{"source":102,"target":57,"weight":10},{"source":102,"target":58,"weight":26},{"source":102,"target":59,"weight":7},{"source":102,"target":60,"weight":12},{"source":102,"target":3,"weight":5},{"source":102,"target":61,"weight":8},{"source":102,"target":62,"weight":14},{"source":93,"target":63,"weight":4},{"source":93,"target":64,"weight":16},{"source":103,"target":65,"weight":18},{"source":103,"target":9,"weight":8},{"source":103,"target":10,"weight":15},{"source":103,"target":66,"weight":5},{"source":103,"target":12,"weight":6},{"source":103,"target":2,"weight":6},{"source":103,"target":16,"weight":8},{"source":103,"target":17,"weight":8},{"source":103,"target":39,"weight":13},{"source":103,"target":3,"weight":10},{"source":103,"target":19,"weight":5},{"source":103,"target":41,"weight":6},{"source":79,"target":0,"weight":8},{"source":34,"target":11,"weight":7},{"source":34,"target":31,"weight":4},{"source":34,"target":40,"weight":16},{"source":34,"target":32,"weight":9},{"source":13,"target":20,"weight":7},{"source":80,"target":67,"weight":17},{"source":14,"target":44,"weight":9},{"source":14,"target":45,"weight":7},{"source":14,"target":46,"weight":7},{"source":14,"target":7,"weight":24},{"source":14,"target":19,"weight":12},{"source":24,"target":25,"weight":35},{"source":24,"target":27,"weight":41},{"source":35,"target":34,"weight":9},{"source":52,"target":51,"weight":7},{"source":2,"target":68,"weight":6},{"source":2,"target":22,"weight":4},{"source":2,"target":33,"weight":88},{"source":2,"target":34,"weight":5},{"source":2,"target":44,"weight":4},{"source":2,"target":14,"weight":6},{"source":2,"target":15,"weight":15},{"source":2,"target":21,"weight":16},{"source":2,"target":46,"weight":11},{"source":2,"target":69,"weight":11},{"source":2,"target":70,"weight":7},{"source":2,"target":3,"weight":17},{"source":2,"target":42,"weight":5},{"source":2,"target":71,"weight":8},{"source":2,"target":4,"weight":31},{"source":81,"target":72,"weight":9},{"source":81,"target":73,"weight":5},{"source":81,"target":6,"weight":4},{"source":15,"target":14,"weight":5},{"source":15,"target":45,"weight":4},{"source":15,"target":74,"weight":8},{"source":15,"target":21,"weight":7},{"source":15,"target":75,"weight":28},{"source":15,"target":46,"weight":5},{"source":15,"target":76,"weight":5},{"source":15,"target":7,"weight":4},{"source":15,"target":19,"weight":14},{"source":15,"target":42,"weight":10},{"source":15,"target":71,"weight":9},{"source":15,"target":4,"weight":54},{"source":25,"target":27,"weight":33},{"source":25,"target":1,"weight":11},{"source":16,"target":77,"weight":30},{"source":16,"target":72,"weight":15},{"source":16,"target":67,"weight":7},{"source":16,"target":78,"weight":6},{"source":16,"target":79,"weight":4},{"source":16,"target":80,"weight":9},{"source":16,"target":0,"weight":25},{"source":16,"target":81,"weight":8},{"source":16,"target":6,"weight":69},{"source":16,"target":27,"weight":4},{"source":16,"target":82,"weight":7},{"source":16,"target":83,"weight":6},{"source":16,"target":84,"weight":31},{"source":16,"target":85,"weight":20},{"source":16,"target":3,"weight":5},{"source":16,"target":1,"weight":52},{"source":16,"target":42,"weight":9},{"source":16,"target":86,"weight":16},{"source":16,"target":29,"weight":8},{"source":16,"target":87,"weight":12},{"source":16,"target":88,"weight":54},{"source":104,"target":37,"weight":5},{"source":104,"target":3,"weight":6},{"source":56,"target":22,"weight":11},{"source":56,"target":54,"weight":13},{"source":56,"target":55,"weight":7},{"source":56,"target":51,"weight":6},{"source":74,"target":89,"weight":7},{"source":74,"target":49,"weight":5},{"source":21,"target":75,"weight":9},{"source":21,"target":90,"weight":5},{"source":31,"target":40,"weight":4},{"source":26,"target":28,"weight":4},{"source":37,"target":12,"weight":4},{"source":37,"target":35,"weight":6},{"source":37,"target":91,"weight":10},{"source":37,"target":38,"weight":29},{"source":37,"target":92,"weight":9},{"source":37,"target":4,"weight":5},{"source":37,"target":5,"weight":4},{"source":6,"target":67,"weight":11},{"source":6,"target":78,"weight":8},{"source":6,"target":80,"weight":7},{"source":6,"target":84,"weight":10},{"source":6,"target":85,"weight":9},{"source":6,"target":86,"weight":7},{"source":6,"target":87,"weight":8},{"source":6,"target":88,"weight":12},{"source":27,"target":1,"weight":7},{"source":82,"target":93,"weight":30},{"source":82,"target":1,"weight":5},{"source":46,"target":45,"weight":5},{"source":58,"target":52,"weight":4},{"source":76,"target":71,"weight":5},{"source":76,"target":4,"weight":4},{"source":7,"target":94,"weight":6},{"source":7,"target":95,"weight":6},{"source":30,"target":75,"weight":4},{"source":85,"target":84,"weight":6},{"source":70,"target":21,"weight":8},{"source":70,"target":75,"weight":7},{"source":70,"target":49,"weight":4},{"source":60,"target":22,"weight":5},{"source":60,"target":44,"weight":7},{"source":60,"target":56,"weight":5},{"source":60,"target":3,"weight":6},{"source":97,"target":11,"weight":4},{"source":17,"target":29,"weight":8},{"source":39,"target":65,"weight":15},{"source":39,"target":68,"weight":6},{"source":39,"target":10,"weight":23},{"source":39,"target":33,"weight":6},{"source":39,"target":11,"weight":17},{"source":39,"target":34,"weight":32},{"source":39,"target":24,"weight":5},{"source":39,"target":2,"weight":15},{"source":39,"target":36,"weight":18},{"source":39,"target":15,"weight":10},{"source":39,"target":16,"weight":14},{"source":39,"target":31,"weight":10},{"source":39,"target":38,"weight":5},{"source":39,"target":96,"weight":4},{"source":39,"target":97,"weight":7},{"source":39,"target":17,"weight":15},{"source":39,"target":18,"weight":4},{"source":39,"target":41,"weight":15},{"source":39,"target":42,"weight":4},{"source":39,"target":29,"weight":11},{"source":39,"target":4,"weight":12},{"source":39,"target":5,"weight":12},{"source":39,"target":32,"weight":26},{"source":3,"target":77,"weight":4},{"source":3,"target":22,"weight":5},{"source":3,"target":70,"weight":4},{"source":3,"target":42,"weight":5},{"source":3,"target":20,"weight":4},{"source":92,"target":91,"weight":4},{"source":18,"target":33,"weight":4},{"source":1,"target":73,"weight":6},{"source":1,"target":67,"weight":34},{"source":1,"target":79,"weight":12},{"source":1,"target":80,"weight":36},{"source":1,"target":0,"weight":43},{"source":1,"target":81,"weight":6},{"source":1,"target":6,"weight":10},{"source":1,"target":84,"weight":5},{"source":19,"target":9,"weight":15},{"source":19,"target":13,"weight":5},{"source":19,"target":45,"weight":4},{"source":19,"target":46,"weight":4},{"source":19,"target":3,"weight":6},{"source":19,"target":20,"weight":10},{"source":41,"target":65,"weight":22},{"source":41,"target":10,"weight":10},{"source":41,"target":33,"weight":5},{"source":41,"target":12,"weight":16},{"source":41,"target":2,"weight":10},{"source":41,"target":15,"weight":35},{"source":41,"target":16,"weight":4},{"source":41,"target":74,"weight":5},{"source":41,"target":21,"weight":14},{"source":41,"target":37,"weight":28},{"source":41,"target":75,"weight":36},{"source":41,"target":91,"weight":9},{"source":41,"target":76,"weight":4},{"source":41,"target":90,"weight":7},{"source":41,"target":38,"weight":28},{"source":41,"target":30,"weight":8},{"source":41,"target":70,"weight":4},{"source":41,"target":17,"weight":7},{"source":41,"target":3,"weight":5},{"source":41,"target":92,"weight":6},{"source":41,"target":19,"weight":6},{"source":41,"target":48,"weight":8},{"source":41,"target":4,"weight":77},{"source":48,"target":98,"weight":4},{"source":48,"target":49,"weight":8},{"source":105,"target":93,"weight":5},{"source":42,"target":77,"weight":4},{"source":42,"target":68,"weight":4},{"source":42,"target":93,"weight":32},{"source":42,"target":82,"weight":20},{"source":42,"target":70,"weight":15},{"source":42,"target":1,"weight":13},{"source":71,"target":75,"weight":5},{"source":4,"target":68,"weight":4},{"source":4,"target":43,"weight":31},{"source":4,"target":98,"weight":5},{"source":4,"target":99,"weight":5},{"source":4,"target":44,"weight":5},{"source":4,"target":94,"weight":4},{"source":4,"target":14,"weight":22},{"source":4,"target":45,"weight":5},{"source":4,"target":81,"weight":5},{"source":4,"target":74,"weight":11},{"source":4,"target":21,"weight":6},{"source":4,"target":95,"weight":9},{"source":4,"target":75,"weight":7},{"source":4,"target":46,"weight":5},{"source":4,"target":7,"weight":25},{"source":4,"target":38,"weight":12},{"source":4,"target":30,"weight":28},{"source":4,"target":47,"weight":11},{"source":4,"target":70,"weight":6},{"source":4,"target":3,"weight":9},{"source":4,"target":19,"weight":4},{"source":4,"target":48,"weight":21},{"source":4,"target":42,"weight":6},{"source":4,"target":49,"weight":18},{"source":5,"target":68,"weight":5},{"source":5,"target":11,"weight":4},{"source":5,"target":12,"weight":16},{"source":5,"target":14,"weight":7},{"source":5,"target":2,"weight":13},{"source":5,"target":15,"weight":13},{"source":5,"target":74,"weight":14},{"source":5,"target":95,"weight":5},{"source":5,"target":7,"weight":6},{"source":5,"target":38,"weight":4},{"source":5,"target":30,"weight":5},{"source":5,"target":47,"weight":5},{"source":5,"target":3,"weight":11},{"source":5,"target":42,"weight":15},{"source":5,"target":71,"weight":4},{"source":5,"target":4,"weight":39},{"source":5,"target":87,"weight":4},{"source":5,"target":49,"weight":6},{"source":5,"target":32,"weight":4},{"source":87,"target":78,"weight":7},{"source":49,"target":47,"weight":4},{"source":61,"target":60,"weight":7},{"source":61,"target":4,"weight":4},{"source":32,"target":31,"weight":12},{"source":32,"target":38,"weight":6},{"source":32,"target":40,"weight":6},{"source":106,"target":2,"weight":10},{"source":88,"target":84,"weight":7},{"source":88,"target":85,"weight":9}]}
<!--
Author - Mohd Sanad Zaki Rizvi
Github - https://github.com/mohdsanadzakirizvi
-->
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://d3js.org/d3.v3.js""></script>
<style>
body{ font: Arial 12px; text-align: center;}
.link {
stroke: #ccc;
}
.node text {
pointer-events: none;
font: sans-serif;
}
</style>
<link rel="stylesheet" type="text/css" href="main.css">
</head>
<body>
<script type="text/javascript">
//Set margins and sizes
var margin = {
top: 20,
bottom: 50,
right: 30,
left: 50
};
var width = 960 - margin.left - margin.right;
var height = 700 - margin.top - margin.bottom;
//Load Color Scale
var c10 = d3.scale.category10();
//Create an SVG element and append it to the DOM
var svgElement = d3.select("body")
.append("svg").attr({"width": width+margin.left+margin.right, "height": height+margin.top+margin.bottom})
.append("g")
.attr("transform","translate("+margin.left+","+margin.top+")");
//Load External Data
d3.json("got_social_graph.json", function(dataset){
//Extract data from dataset
var nodes = dataset.nodes,
links = dataset.links;
//Create Force Layout
var force = d3.layout.force()
.size([width, height])
.nodes(nodes)
.links(links)
.gravity(0.05)
.charge(-200)
.linkDistance(200);
//Add links to SVG
var link = svgElement.selectAll(".link")
.data(links)
.enter()
.append("line")
.attr("stroke-width", function(d){ return d.weight/10; })
.attr("class", "link");
//Add nodes to SVG
var node = svgElement.selectAll(".node")
.data(nodes)
.enter()
.append("g")
.attr("class", "node")
.call(force.drag);
//Add labels to each node
var label = node.append("text")
.attr("dx", 12)
.attr("dy", "0.35em")
.attr("font-size", function(d){ return d.influence*1.5>9? d.influence*1.5: 9; })
.text(function(d){ return d.character; });
//Add circles to each node
var circle = node.append("circle")
.attr("r", function(d){ return d.influence/2>5 ? d.influence/2 : 5; })
.attr("fill", function(d){ return c10(d.zone*10); });
//This function will be executed for every tick of force layout
force.on("tick", function(){
//Set X and Y of node
node.attr("r", function(d){ return d.influence; })
.attr("cx", function(d){ return d.x; })
.attr("cy", function(d){ return d.y; });
//Set X, Y of link
link.attr("x1", function(d){ return d.source.x; })
link.attr("y1", function(d){ return d.source.y; })
link.attr("x2", function(d){ return d.target.x; })
link.attr("y2", function(d){ return d.target.y; });
//Shift node a little
node.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; });
});
//Start the force layout calculation
force.start();
});
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment