JSFiddle - React, Tailwind, and code Playground
by ramnathv
HTML
<script src="http://rawgithub.com/lodash/lodash/2.2.1/dist/lodash.min.js"></script>
CoffeeScript
data = [
{mpg: 1, y: 2, g: "A"},
{mpg: 2, y: 4, g: "A"},
{mpg: 3, y: 6, g: "B"}
{mpg: 4, y: 8, g: "B"}
]
aes = {x: "mpg", y: "y", group: "g", color: ["steelblue", "lightblue"]}
make_series = (data, aes) -> _.chain(data).
map( (d) ->
d_ = { x: d[aes.x], y: d[aes.y] }
_.extend d_, _.omit(d, [aes.x, aes.y])
).
groupBy( (d) ->
d[aes.group]
).
map( (d, k) -> {
data: d,
color: palette.color()
name: k,
info: _.map(d, (d) -> _.omit(d, ["x", "y"]))
}
).
value()
series = make_series data, aes
console.log JSON.stringify(series)