I am not a specialist in the listed technologies, but I would decide to " bucketing " your data.
Your X axis is time , so define a resolution point for the current size of the chart. IE, if you see the whole graph, you will need, for example, a data point per day . If you scale in a long way, you may need a point per hour .
Now you have determined the resolution, look at your chart and find all the data that exists between the resolution points, IE, all data > 20th April 2011 at 4pm and < 20th April 2011 at 5pm if you are on an hourly basis.
Depending on the type of data you are using, determine if you want average all the data you collected, or find median (or some other method, such as a candle stick chart , to show max / min values). In any case, select the most suitable method, repeat all the points and make the result with the new data.
Hope you have in mind.
source share