As programmers, we're used to seeing data in rectangular tables that are optimized for fast retrieval and processing by computer. Pictures of data, such as scatterplots, bar charts, and maps, optimize data for efficient analysis by human. SQL is powerful because it allows us to ask complex questions of our data without busying ourselves with the mechanics of iteration, aggregation, and indexing. We need the same for pictures: a grammar that allows us to express rich data visualizations without the nuisance of looping, drawing axes, and juggling legends.
In this talk, I will introduce such a grammar of graphics, implemented in Clojure. As motivation, I'll discuss the principles of effective data visualization and the insights that can come from just looking at your data. The grammar itself consists of simple data structures, maps and arrays. As a first consequence, this means the grammar can be easily used across the JVM as well as via JSON. However, there are several other, deeper ramifications of having a "data API" that will be discussed.
There will be a live coding demonstration of interactively applying machine learning to a simple task and visualization of the results.