 
     ;; y-axis
     (-> svg
-        (.select ".axis-container g.y-axis.axis")
-        (.call y-axis))
+        (.select ".axis-container g.y-axis.positive")
+        (.call y-pos-axis))
+    (-> svg
+        (.select ".axis-container g.y-axis.negative")
+        (.call y-neg-axis))
     ;; x-axis
     (-> svg
         (.select ".axis-container g.axis.x-axis line")
-        (.attr #js {"y1" (int y-middle)
-                    "y2" (int y-middle)
+        (.attr #js {"y1" y-zero
+                    "y2" y-zero
                     "x1" 0
                     "x2" (:width plot-info)}))
 

   :legend-info {:square-size 10
                 :item-width 80
                 :item-height 14   ; assume font is 14px
                 :spacing 4}})

(defn add-queued-time [build]
  (let [queued-time (max (build/queued-time build) 0)]

        (.text #(aget % "text")))))

(defn visualize-insights-bar! [el builds]
  (let [y-pos-max (apply max (map :build_time_minutes
                                  builds))
        y-neg-max (apply max (map :queued_time_millis
                                  builds))
        y-zero (* (:height plot-info) (:positive-y% plot-info))
        y-pos-scale (-> (js/d3.scale.linear)
                        (.domain #js[0 y-pos-max])
                        (.range #js[y-zero 0]))
        y-neg-scale (-> (js/d3.scale.linear)
                        (.domain #js[0 y-neg-max])
                        (.range #js[y-zero (:height plot-info)]))
        y-pos-tick-values (map js/Math.round
                               [y-pos-max (* y-pos-max 0.5) 0])
        y-neg-tick-values (map js/Math.round
                               [y-neg-max])
        y-pos-axis (-> (js/d3.svg.axis)
                       (.scale y-pos-scale)
                       (.orient "left")
                       (.tickValues (clj->js y-pos-tick-values)))
        y-neg-axis (-> (js/d3.svg.axis)
                       (.scale y-neg-scale)
                       (.orient "left")
                       (.tickValues (clj->js y-neg-tick-values)))
        scale-filler (map (partial str "xx-") (range (- (:max-bars plot-info) (count builds))))
        x-scale (-> (js/d3.scale.ordinal)
                    (.domain (clj->js
