index.html
<!DOCTYPE html>
<meta charset="utf-8">
<style>
rect{
fill:steelblue;
}
</style>
<body>
<svg width="960" height="600">
<g id="left" transform="translate(115, 25)"></g>
<g id="right" transform="translate(595, 25)"></g>
<g id="top" transform="translate(115, 325)"></g>
<g id="bottom" transform="translate(595, 325)"></g>
</svg>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="//vizjs.org/viz.v1.1.7.min.js"></script>
<script>
var data=[['A', 1],['A', 3],['B', 3],['C', -5],['D', 8]];
var bar = viz.bar().data(data).width(250).height(250);
d3.select("#left").call(bar.dock('l'));
d3.select("#left")
.append("g").attr("transform", "translate("+bar.valueScale()(0)+",0)")
.call(d3.axisLeft().scale(bar.keyScale()).tickValues(""));
d3.select("#right").call(bar.dock('r'));
d3.select("#right")
.append("g").attr("transform", "translate("+bar.valueScale()(0)+",0)")
.call(d3.axisRight().scale(bar.keyScale()).tickValues(""));
d3.select("#top").call(bar.dock('t'));
d3.select("#top")
.append("g").attr("transform", "translate(0,"+bar.valueScale()(0)+")")
.call(d3.axisTop().scale(bar.keyScale()).tickValues(""));
d3.select("#bottom").call(bar.dock('b'));
d3.select("#bottom")
.append("g").attr("transform", "translate(0,"+bar.valueScale()(0)+")")
.call(d3.axisBottom().scale(bar.keyScale()).tickValues(""));
d3.select(self.frameElement).style("height","600px").style("width","960px");
</script>