block by NPashaP 19780741c2ecc99bd66de2ccf131b215

lg - draw - custom shape

Full Screen

index.html

<!DOCTYPE html>
<meta charset="utf-8">
<style>
rect{
  fill:#3F51B5;
  stroke:black;
}
</style>
<body>
<svg width="960" height="500">
	<g id="g1" transform="translate(200, 50)"></g>
	<g id="g2" transform="translate(600, 50)"></g>
</svg>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="//vizjs.org/viz.v1.1.8.min.js"></script>
<script>
var browsers = [
'Chrome','Edge','Netscape','Firefox'
,'Safari','Vivaldi','Opera','Dooble'
];

//default
var lg = viz.lg().data(browsers);
d3.select("#g1").call(lg);

//custom
function roundRect(d){
  d3.select(this).append("rect")
	.attr("class",'legend-icon')
	.attr("height",function(d){ return d.height;})
	.attr("width",function(d){ return d.width; })
	.attr("rx",3).attr("ry",3)
	;
}
var lg = viz.lg().data(browsers)
	.paddingInner(0.3)
	.draw(roundRect);
	
d3.select("#g2").call(lg);

// adjust the bl.ocks frame dimension. Not part of example.
d3.select(self.frameElement).style("height", "500px").style("width", "960px"); 
</script>