Skip to content

Instantly share code, notes, and snippets.

@NPashaP
Created December 20, 2016 05:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NPashaP/19780741c2ecc99bd66de2ccf131b215 to your computer and use it in GitHub Desktop.
Save NPashaP/19780741c2ecc99bd66de2ccf131b215 to your computer and use it in GitHub Desktop.
lg - draw - custom shape
license: gpl-3.0
<!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="http://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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment