barPath = (groups) ->
path = []
i = -1
n = groups.length
while ++i < n
d = groups[i]
path.push("M", x(d.key), ",", height, "V", y(d.value), "h9V", height)
return path.join("")
resizePath = (d) ->
e = +(d == "e")
x1 = e ? 1 : -1
y1 = height / 3
return "M#{(.5 * x1)},#{y1}A6,6 0 0 #{e} #{(6.5 * x1)},#{(y1 + 6)}
V#{(2 * y1 - 6)}A6,6 0 0 #{e} #{(.5 * x1)},#{(2 * y1)}
Z
M#{(2.5 * x1)},#{(y1 + 8)}
V#{(2 * y1 - 8)}
M#{(4.5 * x1)},#{(y1 + 8)}
V#{(2 * y1 - 8)}"