I'd recommend checking out Vega-Lite & Vega, which are designed around the ideas of the Grammar of Graphics (the force behind R's popular ggplot2 library). The core idea of GG is that data visualizations are specified as declarative descriptions of how properties of the data map to aesthetics of the dataviz. Vega-Lite & Vega take things one step further in providing a grammar of interaction, which allows for the construction of interactive data visualizations and sophisticated explorer views. Moreover, it ups the ante on the declarative nature of the GG in that Vega-Lite and Vega specifications are described as pure data (JSON), which makes it very in line with the data-driven philosophy of the Clojure world, and paves the way for seamless interoperability with different languages and such.
Vega-Lite is more or less the higher lever, day-to-day data science tool, focusing on providing high leverage and automation based on very spartan specifications. It compiles to Vega, which is a somewhat lower level and more powerful, but less automated version of Vega-Lite. Usually starting out with Vega-Lite, and switching to Vega only as needed is sufficient.
For more on Vega & Vega-Lite see: https://vega.github.io.
If you'd like to use Vega-Lite or Vega from Clojure or ClojureScript, you may wish to check out a small but flexible wrapper library I wrote called Oz:
https://github.com/metasoarous/oz