Sencha Premium Member
Unanswered: Chart Zoom and Lot of data points
Hi I am using GXT latest version and i cant find a way to zoom the chart. Is it supported in the gpl version or is it supported in the commercial version. We are doing this as a POC and if these features work then we will be buying the commercial version.
There is presently no built-in feature to provide zooming functionality.
That said, you can often get this feature from other existing features. What exactly is your use case?
Without more details, the simplest way would probably be to attach a filter to the store (and enable filtering) to limit which items are rendered. If using Chart.setStore, remember to invoke chart.redrawChart() afterward - if using Chart.bindStore, this will be called automatically. This idea can be better displayed through the use of setMinimum/setMaximum on a NumericAxis - however, there is currently a bug in those methods that limits the axis from using those values exactly, but instead rounds to the nearest set of 'pretty' numbers. See http://www.sencha.com/forum/showthre...um-is-always-0. for more information on this bug - at present, the last post links to a way to work around this issue.
The GPL licensed and Commercially licensed versions have the same code, and the same functionality. Having a support subscription (with either license) grants you access to more bugfix releases, as well as the ability to file support tickets for faster help or bug fixes, not a different library.
Sencha Premium Member
Chart Zoom and Lot of data points
Thanks for your reply.
Our usecase is to draw a rubber band along the X-Axis and zoom in to select a specific data point. We have around 10000 data points and its very hard to select a data points without zooming.
Ten thousand data points is going to be hard for some browsers to handle, even just in memory. Assuming that you have at at least three properties in each model (id, x, y), and each property is about 5 chars (so the id and data are relatively unique), you'll be downloading at least 5*3*10000 = 150,000 bytes - not outside the realm of possibility, but certainly not small either. I can say with relative certainty that no GXT chart can display all of those at once, so you'll definitly want to be thinning out that data. With ten line series going at once, the chart would need to be around 3000 px wide to actually see the lines from point to point (wider than almost any monitor on the market), so the user definitely won't be able to comprehend that much data.
So yes, filtering is going to be required to have the browser load the data quickly (are you supporting IE? if so, have you tested loading that much data into IE? I suspect this will be a problem with just about any browser-based library), to display in a meaningful way, and to let the user find what they are looking for. The Store.StoreFilter interface will help winnow down the data on the client, but you may want to consider only passing a subset of these items to the client at a time.
Tags for this Thread