   round_max_value: (max) ->
     rounded = d3.round(max, 0)
     rounded += 1 if max > rounded
-    @_max_value = rounded
+    @max_value(rounded)
     @
 
   render: ->

  y_padding: 30

  build_value_domain: ->
    if @_strict_scale
      keys = (key for key, _ of @_strict_scale)
      @max_value(d3.max(keys))
      @min_value(d3.min(keys))

    @value_domain = d3.scale.linear()
      .domain([@min_value(), @max_value()]) # FIXME


  

  min_value: (value, force = false) ->
    if value or value is 0
      v = parseInt(value)
      @_min_value = (if force then v else d3.min([(@_min_value or 0), v]))
      return @
    @_min_value
   
  max_value: (value, force = false) ->
    if value
      v = parseInt(value)
      @_max_value = (if force then v else d3.max([@_max_value or 1, v]))
      return @
    @_max_value

