Skip to content

Commit

Permalink
fixes chart buffers (closes #487)
Browse files Browse the repository at this point in the history
  • Loading branch information
davelandry committed Jun 15, 2016
1 parent 90ce8de commit 3c97ea5
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions src/viz/types/helpers/graph/includes/buffer.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,18 @@ module.exports = (vars, axis, buffer) ->

if vars[axis].scale.value isnt "share" and !vars[axis].range.value and vars[axis].reset

testScale = vars[axis].scale.viz.copy().clamp(false)

if axis is vars.axes.discrete

domain = vars[axis].scale.viz.domain()
domain = testScale.domain()

if typeof domain[0] is "string"
i = domain.length
while i >= 0
domain.splice(i, 0, "d3plus_buffer_"+i)
i--
range = vars[axis].scale.viz.range()
range = testScale.range()
range = buckets d3.extent(range), domain.length
vars[axis].scale.viz.domain(domain).range(range)

Expand Down Expand Up @@ -47,10 +49,10 @@ module.exports = (vars, axis, buffer) ->
additional = difference / (vars[axis].ticks.values.length - 1)
additional = additional / 2

rangeMax = vars[axis].scale.viz.range()[1]
rangeMax = testScale.range()[1]
maxSize = vars.axes.scale.range()[1] * 1.5
domainLow = vars[axis].scale.viz.invert -maxSize
domainHigh = vars[axis].scale.viz.invert rangeMax + maxSize
domainLow = testScale.invert -maxSize
domainHigh = testScale.invert rangeMax + maxSize

if domain[0] - additional < domainLow

Expand All @@ -62,7 +64,7 @@ module.exports = (vars, axis, buffer) ->
domain = [domainLow, domainHigh]
domain = domain.reverse() if axis.indexOf("y") is 0

domainCompare = vars[axis].scale.viz.domain()
domainCompare = testScale.domain()
domainCompare = domainCompare[1] - domainCompare[0]

unless domainCompare
Expand All @@ -87,7 +89,7 @@ module.exports = (vars, axis, buffer) ->
d = if i then orig_domain[i - 1] + add else orig_domain[i] - add
domain.splice(i, 0, d)
i--
range = vars[axis].scale.viz.range()
range = testScale.range()
range = buckets d3.extent(range), domain.length
vars[axis].scale.viz.domain(domain).range(range)

Expand All @@ -99,7 +101,7 @@ module.exports = (vars, axis, buffer) ->
(buffer is "y" and axis.indexOf("y") is 0) or
(buffer is true)

domain = vars[axis].scale.viz.domain()
domain = testScale.domain()

allPositive = domain[0] >= 0 and domain[1] >= 0
allNegative = domain[0] <= 0 and domain[1] <= 0
Expand Down Expand Up @@ -165,16 +167,16 @@ module.exports = (vars, axis, buffer) ->

else

rangeMax = vars[axis].scale.viz.range()[1]
rangeMax = testScale.range()[1]
maxSize = vars.axes.scale.range()[1]

domainLow = vars[axis].scale.viz.invert -maxSize*1.5
domainHigh = vars[axis].scale.viz.invert rangeMax + maxSize*1.5
domainLow = testScale.invert -maxSize*1.5
domainHigh = testScale.invert rangeMax + maxSize*1.5

domain = [domainLow, domainHigh]
domain = domain.reverse() if axis.indexOf("y") is 0

domainCompare = vars[axis].scale.viz.domain()
domainCompare = testScale.domain()
domainCompare = domainCompare[1] - domainCompare[0]

unless domainCompare
Expand Down

0 comments on commit 3c97ea5

Please sign in to comment.