diff options
Diffstat (limited to 'www/lib/vis/examples/network/data/importingFromGephi.html')
| -rw-r--r-- | www/lib/vis/examples/network/data/importingFromGephi.html | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/www/lib/vis/examples/network/data/importingFromGephi.html b/www/lib/vis/examples/network/data/importingFromGephi.html new file mode 100644 index 00000000..f39f15a4 --- /dev/null +++ b/www/lib/vis/examples/network/data/importingFromGephi.html @@ -0,0 +1,174 @@ +<!DOCTYPE html> +<!-- saved from url=(0044)http://kenedict.com/networks/worldcup14/vis/ , thanks Andre!--> +<html> +<head> + <meta http-equiv="content-type" content="text/html; charset=UTF8"> + <title>Dynamic Data - Importing from Gephi (JSON)</title> + <script type="text/javascript" src="../exampleUtil.js"></script> + + <script type="text/javascript" src="../../../dist/vis.js"></script> + <link type="text/css" rel="stylesheet" href="../../../dist/vis-network.min.css"> + + <style type="text/css"> + #mynetwork { + width: 800px; + height: 800px; + border: 1px solid lightgray; + } + + div.nodeContent { + position: relative; + border: 1px solid lightgray; + width: 480px; + height: 780px; + margin-top: -802px; + margin-left: 810px; + padding: 10px; + } + + pre { + padding: 5px; + margin: 5px; + } + + .string { + color: green; + } + + .number { + color: darkorange; + } + + .boolean { + color: blue; + } + + .null { + color: magenta; + } + + .key { + color: red; + } + </style> + <script src="../../googleAnalytics.js"></script> +</head> + +<body> + +<h2>Dynamic Data - Importing from Gephi (JSON)</h2> + +<div style="width:700px; font-size:14px; text-align: justify;"> + This example shows how to import a JSON file exported by Gephi. The two + options available for the import are + available through the checkboxes. You can download the Gephi JSON exporter + here: + <a href="https://marketplace.gephi.org/plugin/json-exporter/" target="_blank">https://marketplace.gephi.org/plugin/json-exporter/</a>. + All of Gephi's attributes are also contained within the node elements. This + means you can access all of this data through the DataSet. + <br/> +</div> + +<p> + <label><input type="checkbox" id="fixed" checked="checked"/> Fix in place after import.</label><br> + <label><input type="checkbox" id="parseColor"/> Parse the color instead of + copy (adds borders, highlights etc.)</label> +</p> + +<div id="mynetwork"></div> +<div class="nodeContent"><h4>Node Content:</h4> + <pre id="nodeContent"></pre> +</div> + +<script type="text/javascript"> + var network; + + var nodes = new vis.DataSet(); + var edges = new vis.DataSet(); + var gephiImported; + var fixedCheckbox = document.getElementById('fixed'); + fixedCheckbox.onchange = redrawAll; + + var parseColorCheckbox = document.getElementById('parseColor'); + parseColorCheckbox.onchange = redrawAll; + + var nodeContent = document.getElementById('nodeContent'); + + loadJSON('../datasources/WorldCup2014.json', redrawAll, function(err) {console.log('error')}); + + var container = document.getElementById('mynetwork'); + var data = { + nodes: nodes, + edges: edges + }; + var options = { + nodes: { + shape: 'dot', + font: { + face: 'Tahoma' + } + }, + edges: { + width: 0.15, + smooth: { + type: 'continuous' + } + }, + interaction: { + tooltipDelay: 200, + hideEdgesOnDrag: true + }, + physics: { + stabilization: false, + barnesHut: { + gravitationalConstant: -10000, + springConstant: 0.002, + springLength: 150 + } + } + }; + + network = new vis.Network(container, data, options); + network.on('click', function (params) { + if (params.nodes.length > 0) { + var data = nodes.get(params.nodes[0]); // get the data from selected node + nodeContent.innerHTML = JSON.stringify(data, undefined, 3); // show the data in the div + } + }) + + /** + * This function fills the DataSets. These DataSets will update the network. + */ + function redrawAll(gephiJSON) { + if (gephiJSON.nodes === undefined) { + gephiJSON = gephiImported; + } + else { + gephiImported = gephiJSON; + } + + nodes.clear(); + edges.clear(); + + var fixed = fixedCheckbox.checked; + var parseColor = parseColorCheckbox.checked; + + var parsed = vis.network.gephiParser.parseGephi(gephiJSON, { + fixed: fixed, + parseColor: parseColor + }); + + // add the parsed data to the DataSets. + nodes.add(parsed.nodes); + edges.add(parsed.edges); + + var data = nodes.get(2); // get the data from node 2 as example + nodeContent.innerHTML = JSON.stringify(data,undefined,3); // show the data in the div + network.fit(); // zoom to fit + } + +</script> + + +</body> +</html> |
