 ;; *** Axis grid definition (:grid)
 ;;
 ;; *Note:* If no `:grid` spec is given in the main spec, no background
-;; *grid will be displayed...
+;; *grid will be displayed. If the axis is not `:visible`, the grid
+;; *will still be displayed as long as either `:major` or `:minor`
+;; *ticks are defined in the axis spec.
 ;;
 ;; | *Key*      | *Value* | *Required* | *Default*       | *Description*                                            |
 ;; |------------+---------+------------+-----------------+----------------------------------------------------------|

        great?  (> (m/abs-diff x1 x2) m/PI)]
    (svg/group
     (merge {:stroke "#ccc" :stroke-dasharray "1 1"} attribs)
     (if (:visible x-axis)
       (map
        #(let [x (scale-x %)] (svg/line (project [x y1]) (project [x y2])))
        (select-ticks x-axis minor-x)))
     (if (:visible y-axis)
       (map
        #(let [y (scale-y %)]
           (if circle

        scale-y (:scale y-axis)]
    (svg/group
     (merge {:stroke "#ccc" :stroke-dasharray "1 1"} attribs)
     (if (or (:major x-axis) (:minor x-axis))
       (map #(let [x (scale-x %)] (svg/line (vec2 x y1) (vec2 x y2))) (select-ticks x-axis minor-x)))
     (if (or (:major y-axis) (:minor y-axis))
       (map #(let [y (scale-y %)] (svg/line (vec2 x1 y) (vec2 x2 y))) (select-ticks y-axis minor-y))))))

(defn svg-plot2d-cartesian
