Problem
JFreeChart gets slower and slower with a greater dataset. There seems to be no zoom-level aggregation implementation, so everything is rendered at the very beginning.
Solution
Create for each available dataset an AggregationDataset, which will be triggered each time on zoom and aggregates the data accordingly to the zoom level.