Wanted to create a (daily) time series chart with automatic rollups to weekly/monthly lines AND nice transitions
The solution I ended up going with is a bit of an optical illusion.
All three views are technically backed by "daily" data.
The weekly and monthly views though have had their data modified to rollup to the first of the week/month, and then all in between values are interpolated to create even slopes.
For example, given this daily data:
date, value
2014-01-01, 10
2014-01-02, 10
2014-01-03, 10
2014-01-04, 10
2014-01-05, 10
2014-01-06, 10
2014-01-07, 10
2014-01-08, 1
2014-01-09, 1
2014-01-10, 1
2014-01-11, 1
2014-01-12, 1
2014-01-13, 1
2014-01-14, 1
we first rollup to the first of the week
2014-01-01, 70
2014-01-02, 0
2014-01-03, 0
...
2014-01-08, 7
2014-01-09, 0
2014-01-10, 0
and then interpolate the remaining values
2014-01-01, 70
2014-01-02, 61
2014-01-03, 52
...
2014-01-08, 7
One big down-side to this (besides the fact that the code isn't very simple) is that the various d3 interpolations (line smoothing) won't work anymore.
If anyone knows of an easier way to do this ping me on github or leave a comment on the gist.
https://d3js.org/d3.v3.min.js