         minlevel=1,
         maxlevel=30
         levelstep=1
+        binlevel=1
+        splinelevel=10
         ) ->
     # Don't mangle the argument
     # TODO: Assumes grid-x

                    h.cache[level] = smooth(h.orig_y, level)
            h.y = h.cache[level][start...end]
            h.x = h.orig_x[start...end][...h.y.length]
        return datac
    getter.extent = d3.extent datac[0].x
    getter.keys = (d.key for d in datac)
    return getter


        #stack = d3.layout.stack()
        #.values((d) -> d.values)
        draw = -> res_data(x.domain()).done (data, opts) ->
            opts ?= {}
            area.interpolate opts.interpolate ? "linear"

            d.y0 = [] for d in data
            for ix in [0...data[0].y.length]
                y0 = 0
