Skip to content

jdk137/netFlow

Repository files navigation

visualize website netFlow based on d3 sankey.js, like google analytics

2012-10-26

用了d3的工具sankey diagram, 它的demo就是Sankey Diagram.htm文件。原网址为:http://bost.ocks.org/mike/sankey/

2012-11-06

服务器中打开t_mySankey.htm 查看demo。 mySankey

重要改动:

  1. 输入数据加了level项,解决了默认没有target的结点level级数为最后一级的问题。
  2. 相应地修改了sankey.js处理level的代码。
  3. 增加每个节点的input 和 output 统计。

配置项说明(configs):

var nodeWidth = 100; //节点宽度 var linkHLWidth = 10; //linkHorizonalLineWidth var nodePadding = 1.5 * linkHLWidth; //节点上下间距 var margin = {top: 10, right: 20, bottom: 20, left: 10}, //间距 width = 960 - margin.left - margin.right, //宽 height = 500 - margin.top - margin.bottom; //高 

重要函数接口(API):

  1. createHead() 中涉及头部各层汇总信息内容和样式的修改。
  2. createJqNodes() 涉及结点内容和样式的修改。
  3. createFloatTag() 涉及浮框样式的修改。
  4. allClickListener() 涉及显示全部数据时点击了节点或链接之后的响应。Ajax调用以及相关处理都在此处修改。
  5. $("#chart").delegate("div.rect", "mouseover", function () {}) 鼠标移上节点的事件响应,涉及浮框内容的修改。
  6. $("#chart").delegate("div.rect", "mouseout", function () {}) 鼠标移出节点的事件响应,默认响应为隐藏浮框。
  7. $("#chart").on("click", function () {}) 显示部分数据时鼠标点解响应。

Important data structure:

1.data

var data = { nodeIndex: {}, // key is level + '_' + name linkIndex: {}, // key is sourceIndexInArray + '_' + targetIndexInArray nodes: undefined, links: undefined, rects: [] //jqnodes array }; 

2.node

{ color: "white", //node color x: 0, //node left y: 0, //node top dx: 100, //node width dy: 455, //node height indexInArray: 0, //node's index in nodes array input: 0, //node's input sum (links value sum as target node) output: 6, //node's output sum (links value sum as source node) value: 6, //node value (max of input and output) level: 0, //node level name: "总点击量", //node name sourceLinks: Array[2], //node's links array as source node targetLinks: Array[0], //node's links array as target node rect: p.fn.p.init[1] //node's jqNode } 

3.link

{ dy: 227.5, //link path height sy: 0, //link path source end y ty: 0, //link path target end y source: Object, //source node target: Object, //target node value: 3 //link value } 

About

show website netFlow based on d3 sankey.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published