What do you mean by "freezing the data"?
Regarding the excessive download problem, my first instinct is to periodically (for example, every hour) compute summary statistics for the bar chart and store that in Firebase. This, of course, would require an additional script/service to perform these periodic jobs.
I'm not sure if that's what you ended up doing and I'm curious what your solution is.