Mostly for performance reasons, plus some historical and aesthetic ones.
The charts that shipped with groov 1.0 were limited to 1 pen, scanning once a second, for up to an hour, and the data was stored in the browser only, so you’d lose everything you had scanned if you refreshed the browser window. 1 data point per second for an hour comes out to 3,600 points total in the chart.
When we added a server storage backend in groov 2.1, we felt we had to maintain that 3,600 point maximum, and support out to a week’s worth of data, plus support additional pens. We did a bunch of performance testing and came out at 4 pens being the maximum we could reasonably render at 3,600 points on older devices.
The interactive trends throw a wrench into the works because they won’t ever render 3,600 points for a single pen, but will choose from different sampled data sets to keep things performant. I forget the exact number, but I think we aim for no more than 600 or so points rendered at once per pen, rendering more accurate data sets the more you’re zoomed in.
Beyond all of that, we’d have trouble fitting a legend with more than 4 points.