                                                 :type "ordinal",
                                                 :padding 0.2,
                                                 :range "width",
-                                                :domain (u/dedup (map #(get % *x*) data))}
+                                                :domain {:data *table* :field *x* :sort false}}
                                                {:name "y",
                                                 :type "linear",
                                                 :range "height",

             :range "width",
             ;; manually set domain because vega.js will re-order
             ;; the domain if we try to pass in the field as in y below
             :domain (u/dedup (map #(get % *x*) data))}
            {:name "y",
             :type "linear",
             :range "height",

                 :scales
                 ^:replace [{:name "x",
                             :type "ordinal",
                             :domain {:data *table* :field *x* :sort false},
                             :range "width"}
                            {:name "y",
                             :type "linear",
