Creating dynamic charts with Incanter
Charts are powerful tools to explore data, and dynamic charts—charts that react to user input—are even more useful.
In this recipe, we'll create a simple chart that graphs the quadratic equation and lets us play with the parameters and see the results in real time.
Getting ready
We'll use the same dependencies in our project.clj
file as we did in Creating scatter plots with Incanter.
We'll use this set of imports in our script or REPL:
(require '[incanter.core :as i] '[incanter.charts :as c])
How to do it...
It seems like creating a dynamic chart would be difficult, but it's not. We just define a dynamic-xy-plot
with the variables and relationships that we want, and Incanter will do the rest:
(def d-plot (let [x (range -1 1 0.1)] (c/dynamic-xy-plot [a (range -1.0 1.0 0.1) b (range -1.0 1.0 0.1) c (range -1.0 1.0 0.1)] [x (i/plus (i/mult a x x) (i/mult b x) c)]))) (i/view d...