This example shows how multiple biPartite graphs from same data can be linked so that mouseover and mouseout transitions both.
For more examples, check VizJS
| license: gpl-3.0 |
| <!DOCTYPE html> | |
| <meta charset="utf-8"> | |
| <style> | |
| .mainBars{ | |
| shape-rendering: auto; | |
| fill-opacity: 0; | |
| stroke-width: 0.5px; | |
| stroke: rgb(0, 0, 0); | |
| stroke-opacity: 0; | |
| } | |
| .subBars{ | |
| shape-rendering:crispEdges; | |
| } | |
| .edges{ | |
| stroke:none; | |
| fill-opacity:0.3; | |
| } | |
| </style> | |
| <body> | |
| <script src="https://d3js.org/d3.v4.min.js"></script> | |
| <script src="http://vizjs.org/viz.v1.1.0.min.js"></script> | |
| <script> | |
| var _data=[ | |
| ['A','X', 1, 5] | |
| ,['A','Y', 3,4] | |
| ,['B','X', 5,1] | |
| ,['B','Y', 8,10] | |
| ,['C','X', 2,13] | |
| ,['C','Y', 9,7] | |
| ]; | |
| var color = {A:"#3366CC", B:"#DC3912", C:"#FF9900"}; | |
| var svg = d3.select("body").append("svg").attr("width", 960).attr("height", 500); | |
| var g1 = svg.append("g").attr("transform","translate(50,50)"); | |
| var bp1=viz.bP() | |
| .data(_data) | |
| .min(10) | |
| .pad(1) | |
| .height(400) | |
| .width(200) | |
| .barSize(35) | |
| .fill(d=>color[d.primary]); | |
| g1.call(bp1); | |
| var g2 = svg.append("g").attr("transform","translate(350,50)"); | |
| var bp2=viz.bP() | |
| .data(_data) | |
| .value(d=>d[3]) | |
| .min(10) | |
| .pad(1) | |
| .height(400) | |
| .width(200) | |
| .barSize(35) | |
| .edgeMode("straight") | |
| .fill(d=>color[d.primary]); | |
| g2.call(bp2); | |
| g1.selectAll(".mainBars") | |
| .on("mouseover",mouseover) | |
| .on("mouseout",mouseout); | |
| g2.selectAll(".mainBars") | |
| .on("mouseover",mouseover) | |
| .on("mouseout",mouseout); | |
| function mouseover(d){ | |
| bp1.mouseover(d); | |
| bp2.mouseover(d); | |
| } | |
| function mouseout(d){ | |
| bp1.mouseout(d); | |
| bp2.mouseout(d); | |
| } | |
| </script> | |
| </body> | |
| </html> |