     "font-weight": vars.y.ticks.font.weight
   if vars.y.scale.value is "log"
     yText = vars.y.ticks.values.filter (d) ->
-      d.toString().charAt(0) is "1"
+      Math.abs(d).toString().charAt(0) is "1"
     yText = yText.map (d) ->
-      10 + " " + formatPower Math.round(Math.log(d) / Math.LN10)
+      n = 10+" "+formatPower Math.round(Math.log(Math.abs(d)) / Math.LN10)
+      if d < 0 then "-"+n else n
   else
     yText = vars.y.ticks.values.map (d) ->
       vars.format.value(d, vars.y.value, vars)

        else if d.constructor is Date
          vars.data.time.multiFormat(d)
        else if scale is "log"
          10 + " " + formatPower Math.round(Math.log(d) / Math.LN10)
        else
          vars.format.value d, vars[axis].value, vars
      else

      return null if vars[axis].ticks.hidden
      scale      = vars[axis].scale.value
      hiddenTime = vars[axis].value is vars.time.value and d % 1 isnt 0
      majorLog   = scale is "log" and Math.abs(d).toString().charAt(0) is "1"

      if !hiddenTime and (majorLog or scale isnt "log")
        if scale is "share"
