Handling Time Series Data Beyond 10,000 Points – Chart Options or Custom Approaches?

Hi Losant Team,

I’m working on a dashboard where one of my devices reports attributes every 15 minutes, and I’m attempting to visualize this data over a 180-day period using the Time Series Graph Block. However, I’ve encountered an issue:
“Unable to display graph. Too many points were returned.”

From my understanding, this is caused by the 10,000-point limit per series in the Time Series Graph block. Since our dataset exceeds this limit, and aggregation is not an option for our solution, I have the following questions:

  1. Are there any built-in blocks or charting options that support plotting more than 10,000 time series data points per attribute?

  2. Is it possible to create a custom chart (e.g., using Custom HTML blocks or Experience Pages) that can fetch and render more than 10,000 points?

  3. What strategies do you recommend for visualizing high-volume time series data from devices, especially when preserving raw resolution over long time spans is important?

I’m open to using workflows, Experience Endpoints, or external integrations if necessary. I’d greatly appreciate your recommendations on how best to handle this, both within and outside of the dashboard environment.

Thank you in advance for your assistance!

You could use a Custom HTML Block that makes a request to an experience endpoint using the Fetch API. We have an example of this in our documentation.

That said, I can’t make any guarantees about the in-browser performance of the chart you end up creating, as we’re talking over 17,000 data points if you are graphing 180 for a single device that reports every 15 minutes. The reasons we recommend aggregating data for visualization within a dashboard block are …

  • Performance of graphing libraries given a large amount of data, which becomes a bigger issue the more blocks you have on your dashboard
  • End-user consumption of that data, in that this may be an overload of information to the user when all they want may be, for example, the maximum value in a given range - after which they can drill down for more detailed information.
  • Pixel density. Even if your graph is 3,000 pixels wide, that’s more than 4 data points per screen pixel, which would not allow for direct selection / observation of 75% of the data you are returning in the graph.