Skip to content

Instantly share code, notes, and snippets.

@88250
Created July 23, 2014 09:51
Show Gist options
  • Save 88250/a4f369912ebb476e3ff9 to your computer and use it in GitHub Desktop.
Save 88250/a4f369912ebb476e3ff9 to your computer and use it in GitHub Desktop.
标签图生成 - JavaScript 部分
<!DOCTYPE html>
<html>
<script src="jsnetworkx.js"></script>
<script src="d3.min.js"></script>
<body>
<div id='canvas'></div>
<script>
var G = jsnx.Graph();
G.add_weighted_edges_from([['HTML5', 'NetBeans', 2]]);
G.add_weighted_edges_from([['J2EE/JavaEE', 'J2SE/JavaSE', 2]]);
G.add_weighted_edges_from([['Life in Programming', 'Java', 2]]);
G.add_weighted_edges_from([['JavaFX', 'Open Source', 4]]);
G.add_weighted_edges_from([['My Linux', 'Open Source', 2]]);
G.add_weighted_edges_from([['J2EE/JavaEE', 'EJB 3.x', 2]]);
G.add_weighted_edges_from([['Google', 'Java', 2]]);
G.add_weighted_edges_from([['JavaOne', 'Open Source', 3]]);
G.add_weighted_edges_from([['PHP', 'Java', 2]]);
G.add_weighted_edges_from([['B3log', 'Open Source', 3]]);
G.add_weighted_edges_from([['HTML5', 'Open Source', 2]]);
G.add_weighted_edges_from([['JavaFX', 'NetBeans', 5]]);
G.add_weighted_edges_from([['NetBeans', 'Maven', 2]]);
G.add_weighted_edges_from([['B3log', 'Life in Programming', 2]]);
G.add_weighted_edges_from([['Life in Programming', 'B3log Announcement', 2]]);
G.add_weighted_edges_from([['PHP', 'Open Source', 3]]);
G.add_weighted_edges_from([['JavaFX', 'Java', 3]]);
G.add_weighted_edges_from([['J2EE/JavaEE', 'NetBeans', 2]]);
G.add_weighted_edges_from([['GAE', 'Open Source', 2]]);
G.add_weighted_edges_from([['NetBeans', 'JavaOne', 4]]);
G.add_weighted_edges_from([['PHP', 'NetBeans', 4]]);
G.add_weighted_edges_from([['Java', 'Open Source', 12]]);
G.add_weighted_edges_from([['B3log', 'Java', 3]]);
G.add_weighted_edges_from([['NetBeans', 'Open Source', 26]]);
G.add_weighted_edges_from([['JavaEE', 'NetBeans', 2]]);
G.add_weighted_edges_from([['JavaEE', 'Open Source', 2]]);
G.add_weighted_edges_from([['B3log', 'B3log Announcement', 2]]);
G.add_weighted_edges_from([['Google', 'GAE', 2]]);
G.add_weighted_edges_from([['NetBeans', 'Java', 9]]);
G.add_weighted_edges_from([['J2EE/JavaEE', 'Open Source', 2]]);
G.add_weighted_edges_from([['B3log', 'GAE', 3]]);
G.add_weighted_edges_from([['Life in Programming', 'Open Source', 2]]);
G.add_weighted_edges_from([['Java', 'GAE', 4]]);
G.add_weighted_edges_from([['Java', 'JavaOne', 2]]);
var labelColor = d3.scale.category20b();
var edgeColor = d3.scale.category20();
var degrees = G.degree();
degrees.forEach(function(node, degree) {
G.node.get(node).degree = degree;
});
jsnx.draw(G, {
element: '#canvas',
layout_attr: {
linkDistance: 200,
charge: -500
},
node_shape: 'rect',
with_labels: true,
weighted: true,
edge_style: {
fill: function(d) {
return edgeColor(d.data.weight);
},
'stroke-width': 20
},
node_attr: {
},
label_style: {
fill: function(d) {
return labelColor(parseInt(Math.random() * 19));
},
'font-weight': 'bold',
'font-size': function(d) {
var ret = 36;
if (d.data.degree < 7) {
ret = 24;
}
if (d.data.degree < 4) {
ret = 18;
}
if (d.data.degree < 2) {
ret = 12;
}
return ret;
}
},
node_style: {
},
pan_zoom: {enabled: false, scale: false}
});
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment