4 ms·
How well does this handle large datasets (thousands of datapoints)? That's a problem that, having worked mainly with Chartist, I have struggled with.
by jwcrux 10y ago
How well does this handle large datasets (thousands of datapoints)?
That's a problem that, having worked mainly with Chartist, I have struggled with.
- nabla9 10y agoWhat is the maximum number of datapoints that plotting library should be excepted to handle at the same time? I think 10,000 datapoints is the limit in 2d visualization but even 1000-2000 datapoints is often acceptable limit. It's usually reasonable to reasonable to downsample and decimate data before presenting it. If user zooms into data, it should be handled in some other ways than keeping all data.
- jwcrux 10y agoLooking further into the examples, it looks like they offer time scale zooming, which is sufficient for what I'm looking for. Thanks!
- wongarsu 10y agoDisplaying up to 1000 datapoints at once seems like a reasonable limit. But if the library supports zooming, I highly appreciate it if I can just put my 10,000 to 100,000 datapoints into the library, specify a simple filter function (avg, sum, min, max) and let the library pick the points it wants to display at each zoom level. Beyond ~100,000 datapoints any filtering is likely better done in the database than on the client. For values below that, Javascript is more than capable.
- MJSplot_author 10y agoIf you are plotting using a canvas - not building a SVG or on the dom - then even 50000 points is fine, no need to filter even on mobile devices. A 100,000 data point file would be about 500kb transfered to the client. This is still a tiny amount of data to play around with in JS. It is possible to build an array of image tiles, and zoom around like google maps. But keeping the image tiles in memory could be worse than just replotting if the plot function is fast and optimized enough.
- MJSplot_author 10y agoIt uses SVG on D3. So I don't think so. If you need 10000> points and interactivity you could try my own: http://generalsarsby.github.io/mjs_plot/ http://generalsarsby.github.io/mjs_plot/