Doing most of the aggregation in polars with the streaming engine prevents memory overload (as compared to letting ggplot do it).