block by NPashaP 25f3cacca0d301f1a4d75ffcdf584938

Viz - biPartite - label

Full Screen

index.html

<!DOCTYPE html>
  <head>
    <meta charset="utf-8">
  </head>
<style>
.viz-biPartite-subBar{
	shape-rendering:crispEdges;
}
.viz-biPartite-mainBar rect{
  fill-opacity: 0;
  stroke-width: 0.5px;
  stroke: rgb(0, 0, 0);
  stroke-opacity: 0;
}
.viz-biPartite-mainBar .perc{
  fill:white;
  text-anchor:middle;
  font-size:12px;
}
</style>
<body>
<svg width="960" height="700">
<g transform="translate(250,50)"></g>
</svg>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="//vizjs.org/viz.v1.3.0.min.js"></script>
<script>

data=[
['A','X', 2]
,['A','Y', 3]
,['B','X', 5]
,['B','Y', 8]
,['C','X', 2]
,['C','Y', 9]
];

var bP = viz.biPartite()
	.data(data)
	
var bPg = d3.select("g").call(bP)
	
bPg.selectAll(".viz-biPartite-mainBar")
	.append("text")
	.attr("class","perc")
	.text(function(d){ return d3.format(".0%")(d.percent) })
	
bPg.selectAll(".viz-biPartite-mainBar")
	.on("mouseover",mouseover)
	.on("mouseout",mouseout)
	
function mouseover(d){
	bP.mouseover(d)
	
	bPg.selectAll(".viz-biPartite-mainBar")
		.select(".perc")
		.text(function(d){ return d3.format(".0%")(d.percent) })
}

function mouseout(d){
	bP.mouseout(d)
	
	bPg.selectAll(".viz-biPartite-mainBar")
		.select(".perc")
		.text(function(d){ return d3.format(".0%")(d.percent) })
}
	
// adjust the bl.ocks frame dimension. Not part of example.
d3.select(self.frameElement).style("height", "700px"); 
</script>