This example demonstrates use of the d3-legend library.
The color scale comes from ColorBrewer.
xxxxxxxxxx
<html>
<head>
<meta charset="utf-8">
<title>D3 Legend Example</title>
<script src="//cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/d3-legend/1.1.0/d3-legend.js"></script>
<script src="colorbrewer.min.js"></script>
</head>
<body>
<svg width="960" height="500"></svg>
<script>
var svg = d3.select("svg");
// Color legend.
var colorScale = d3.scale.quantize()
.domain([ 0, 0.15 ])
.range(colorbrewer.YlGn[9]);
var colorLegend = d3.legend.color()
.labelFormat(d3.format(".2f"))
.scale(colorScale)
.shapePadding(10)
.shapeWidth(30)
.shapeHeight(30)
.labelOffset(10);
svg.append("g")
.attr("transform", "translate(200, 60)")
.call(colorLegend);
// Size legend.
var sizeScale = d3.scale.linear()
.domain([0, 10])
.range([2, 30]);
var sizeLegend = d3.legend.size()
.scale(sizeScale)
.shape("circle")
.shapePadding(3)
.cells(9)
.labelOffset(10);
svg.append("g")
.attr("transform", "translate(650, 60)")
.call(sizeLegend);
</script>
</body>
</html>
https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js
https://cdnjs.cloudflare.com/ajax/libs/d3-legend/1.1.0/d3-legend.js