frankCA

Zoom Line Chart Macroscopic View

Recommended Posts

Hi All,

 

My company has purchased fusioncharts v3 and we're going to implement zoom line chart in our product, which will replace a bunch of widgets we had already coded (date slide, time field, period combo with aggregation and dynamic interval support etc... etc...)

 

The zoom line chart looks tres cool, especially the effect of zooming nicely from a macroscopic view down to real raw data.

 

However there is one problem which has been deemed unacceptable by product management.

 

"If the chart is in macroscopic view, many data points are skipped in order to accommodate the entire series of data."

 

This approach potentially (and usually) wipes peaks, skipping a datapoint can remove a potentially important peak.

For example, given a macroscopic view of financial data, stock prices, for a year. at 11am on the 3rd of january, stock price spiked to $100 where usually it's $30. In macroscopic view you wouldn't see this spike, instead you'd see a nice stable consistant line. Not Good.

 

Question to the forum, am I missing something, has anyone had this same problem/requirement with zoom chart, and if so how did they achieve their goal???

 

thanks in advance...

 

Frank.

Share this post


Link to post
Share on other sites

HI,

 

You can use an API to zoom into the data using zoomTo() function.

 

e.g., FusionCharts("ChId1").zoomTo(0,10); will zoom into a level where 10 points will be shown zooming in.

 

You would need to call this after the chart has completed rendering tracking FC_Rendered/rendered event.

Share this post


Link to post
Share on other sites

HI,

 

You can use an API to zoom into the data using zoomTo() function.

 

e.g., FusionCharts("ChId1").zoomTo(0,10); will zoom into a level where 10 points will be shown zooming in.

 

You would need to call this after the chart has completed rendering tracking FC_Rendered/rendered event.

 

Hi, thanks for your response, but that doesn't address the macroview issue .... UNLESS, by above you suggest the following...

On initial view (so user hasnt done anything yet) to stop the macroview from skipping datapoints, I code the above in zoomto after rendering (via FC_Rendered/rendered event) to control the macroview as I wish.

 

Is this what you mean ?

Share this post


Link to post
Share on other sites

Hi, thanks for your response, but that doesn't address the macroview issue .... UNLESS, by above you suggest the following...

On initial view (so user hasnt done anything yet) to stop the macroview from skipping datapoints, I code the above in zoomto after rendering (via FC_Rendered/rendered event) to control the macroview as I wish.

 

Is this what you mean ?

 

sorry that should read -

I code the above zoomto after rendering (trapped via FC_Rendered/rendered event) to control the macroview to display the default zoom I'm after intead of the default macroview which skips datapoints.

 

Still not ideal, typically if you're selling the fact that you have a chart package with the very cool ability to display a macroview with subsequent zooming. The macroview should be an accurate representation showing peaks etc... correctly.

 

For example, if you have one years’ worth of hourly data that you want to fit on a chart without skipping datapoints.

Support a "type" attribute, and then perform relevant aggregation on the datapoints to enable the data to be shown in larger intervals, to enable less datapoints, and therefore no skipping on the chart.

Based on the type specified, aggregation would be done to provide the relevant value which aggregates 24 hourly datapoints into ONE DAILY datapoint.

For example, there could be a type supported that would represent 24 hourly datapoints of [1,0,0,0,3,4,5,6,9,1,1,4,6,8,6,20,0,0,0,0,0,0,11,1] into one DAILY datapoint of 20 (the highest value for that period).

Another aggregation type could be one DAILY datapoint showing the SUM of all those values.

 

The chart would be fed the rawest data (in the above case hourly interval datapoints) and the charting code would perform the relevant aggregation to change the interval based on how many datapoints can fit on the chart.

 

I think this is basic charting principles (unless I'm grossly out of line here).

 

Thoughts?

 

Thanking you,

 

Frank Fera

Share this post


Link to post
Share on other sites

Hi,

 

Our developer answered on the issue : The reason that we've not done any aggregation is because its very contextual. Sampling of type A might work for a certain scenario, whereas it might be grossly inappropriate for another scenario.

Share this post


Link to post
Share on other sites

Hi,

 

Our developer answered on the issue : The reason that we've not done any aggregation is because its very contextual. Sampling of type A might work for a certain scenario, whereas it might be grossly inappropriate for another scenario.

 

I'm afraid this is a huge shortcoming in your software (especially for the price) and will probably prevent us from using it. The whole point of the zoom line chart is to display a large number of data points and show the trend lines from a macroscopic view. Without being able to see the peaks and valleys, the chart is USELESS.

 

On our chart, the y-axis value (set automatically) goes up to 60,000, but none of the points in the macro view are even close to that value. If I zoom in and scroll around enough I can eventually find that data point, but again the chart is useless at that point.

 

An option to turn on some sort of basic aggregation would be most welcome. A couple of extra attributes in the XML could be used to pass in parameters i.e. -

aggregationType = average, maximum, minimum, median, none, etc (sets the type of aggregate function to use)

aggregationDataType = int, currency, datetime etc (tells Fusiocharts what type of data it is so that it can better guess at how best to aggregate it)

aggregateGroupSize = 10, 20, etc (sets how many points will be grouped in an aggregate function and displayed as a single point)

 

With those 3 parameters (or something similar) it should be possible to offer some kind of aggregation feature. It doesn't have to suit every situation, but giving us tweakable parameters to experiment with makes it more adaptable to different scenarios. Saying that aggregation is contextual feels like a cop out to me.

Edited by shallowman

Share this post


Link to post
Share on other sites

Hey,

 

For ZoomLine chart, to display the peak data value during the initial rendering has been added to our wishlist.

 

We would update the thread once the feature has been implemented.

 

Hope this helps.

Share this post


Link to post
Share on other sites

Hey,

 

Apologies for the delayed response.

 

We are unable to commit any timeline. Once the feature has been implemented, we would update the same thread.

 

Hope this helps.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now