Histogram Bin Computations

by ramnathv

HTML

<script src="//d3js.org/d3.v3.min.js"></script>
<script src="//rawgit.com/ramnathv/7d92a0c9bf3257748fa4/raw/6f7bf292535f31cab82abbbc0a7c01283d8d09f4/data10.js"></script>

CoffeeScript

x = {
  value: [
    {"x": 0, "y" : 1},
    {"x": 5, "y" : 6},
    {"x": 10, "y" : 44}
  ],
  binsize: 0.2,
  extent1n: 3,
  extent2n: 5.2
}

x2 = {}
x.value.map (d) -> x2[d.x] = d.y
    
y = d3.range(x.extent1n, x.extent2n, x.binsize)
z = y.map (x, i) ->
  x: x
  y: x2[i] || 0


d = DATA2()

updateValues = (D) ->
  updateValue = (x) ->
    x2 = {}
    y = d3.range(x.extent1n, x.extent2n, x.binsize)
    x.value.map (d) -> x2[d.x - 1] = d.y
    x.value = y.map (x, i) -> {x: x, y: x2[i] || 0}
  D.forEach (d_) ->
    if (d_.binsize)
      updateValue(d_)
    else
      d_

updateValues(d)
console.log JSON.stringify(d[6])