Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@NPashaP
Created January 7, 2018 04:07
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/8cba93fe7920b5e41a949383edc11bea to your computer and use it in GitHub Desktop.
Save NPashaP/8cba93fe7920b5e41a949383edc11bea to your computer and use it in GitHub Desktop.
Viz - Bar - waterfall
license: gpl-3.0
<!DOCTYPE html>
<head>
<meta charset="utf-8">
</head>
<style>
</style>
<body>
<svg width="960" height="500">
<g transform="translate(50,50)" id="bars"></g>
</svg>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="http://vizjs.org/viz.v1.3.0.min.js"></script>
<script>
var n = 31;
var bar = viz.bar().data(Data())
.value0(function(d){ return d.start <= d.end ? d.start : d.end;})
.value1(function(d){ return d.start >= d.end ? d.start : d.end;})
d3.select("#bars")
.append("g")
.attr("transform","translate(0,"+bar.valueScale()(0)+")")
.call(d3.axisBottom().scale(bar.keyScale()).tickFormat(tikFormat));
d3.select("#bars").call(bar);
d3.select("#bars").select(".viz-bar")
.selectAll(".bar")
.style("fill",function(d,i){ return i==n ? "blue" : d.data.start <= d.data.end ? "green" : "red";})
function Data(){
var sigma = 0;
var r = d3.range(n).map(function(d){
return {key: d, start:sigma, end:(sigma+=Math.random() < 0.6 ? Math.random() : - Math.random())};
});
r.push({key: n, start:sigma, end:0 });
return r;
}
function tikFormat(d){
return d < n ? d : "Total";
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment