|
|
- <!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.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>
|