Skip to content

Instantly share code, notes, and snippets.

@kmix27
Last active June 11, 2017 18:28
Show Gist options
  • Save kmix27/bf74a37eadb72e006257bec0509033fb to your computer and use it in GitHub Desktop.
Save kmix27/bf74a37eadb72e006257bec0509033fb to your computer and use it in GitHub Desktop.
enter append flow class ex
license: mit
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<script src="https://d3js.org/d3.v4.min.js"></script>
<style>
body { margin:0;position:fixed;top:0;right:0;bottom:0;left:0; }
</style>
</head>
<body>
<svg width='960' height='500'>
</svg>
<script>
var data = [39,112,186,286,372,286,192,108,54,40];
var rectWidth = 50
var height = 500
var svg = d3.select('svg')
var dmax = d3.max(data)
var ext = d3.extent(data)
var rscale = d3.scaleLinear()
.domain(ext)
.range(0,50)
console.log(ext);
svg.selectAll('rect')
.data(data)
.enter().append('rect')
.attr('x', function (d,i){return i*rectWidth})
.attr('y', function (d,i){return height - d})
.attr('width', rectWidth)
.attr('height', function (d){return d})
.attr('fill', 'steelblue')
.attr('stroke','black')
;
svg.selectAll('circle')
.data(data)
.enter().append('circle')
.attr('cx', function(d,i){return i*rectWidth + (rectWidth/2)})
.attr('cy', function(d,i){return height - (d+(rectWidth/2)+20)})
.attr("r", function(d,i) {console.log(rscale(d));return rscale(d) })
.attr("fill", 'yellow')
.attr('stroke','black')
</script>
</body>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment