problems with cursor, grid replotting, and clipping
Posted: Thu May 26, 2011 2:50 pm
We have just purchased and begun using Charts Engine at the University of Bergen (Norway).
We are encountering three significant problems.
1. We execute "chartsRefresh" in a loop to dynamically plot a graph. But Charts Engine keeps changing the cursor to an hourglass, which causes our user interface great problems. Locking the cursor has no effect, so does not solve the problem.
2. When refreshing (that is, doing a "chartsRefresh") within a loop, the graph grid will occasionally (and reliably) change. We have absolutely no commands modifying the grid within the loop, and our minimum and maximum x and y are set, so the graph grid should be stable. But it will change consistently as certain points, e.g., always changes after 10 seconds.
3. The charts["minY"] and charts["maxY"] commands do not work as expected, or as would make sense mathematically (for some purposes) The documentation on these commands is very poor and incomplete. There is mention of "scrolling through a dataset" but it is not clear what that means. Our main problem is that our applications generate points that are outside of the graphs range. We set min and max because we don't want the grid or the axis labels to change. But when a point is above the top of the grid, Charts Engine simply plots the maximum value. This is not what one would want to do in many instances. One would want the line to simply be hidden above the top of the graph. For example, if my y maximum is 100 and I plot from (1,1) to (10,1000), Charts Engine draws a line from (1,1) to (10,100). What I want (and what usually makes more sense, mathematically), is for the line to go from (1,1) to (10,1000), but disappear as it goes above 100 (the top of the graph) dissappearing at about (2,199), (I'm interpolating very roughly). I have ways to mathematically correct for this problem, but it REALLY is a case where Charts Engine is not behaving in a proper mathematical fashion.
Problem 3 I can use a cludge to correct for. But problems 1 and 2 are not in any way avoidable when running within a loop.
Sincerely,
Steve Alessi
The University of Iowa and the University of Bergen
We are encountering three significant problems.
1. We execute "chartsRefresh" in a loop to dynamically plot a graph. But Charts Engine keeps changing the cursor to an hourglass, which causes our user interface great problems. Locking the cursor has no effect, so does not solve the problem.
2. When refreshing (that is, doing a "chartsRefresh") within a loop, the graph grid will occasionally (and reliably) change. We have absolutely no commands modifying the grid within the loop, and our minimum and maximum x and y are set, so the graph grid should be stable. But it will change consistently as certain points, e.g., always changes after 10 seconds.
3. The charts["minY"] and charts["maxY"] commands do not work as expected, or as would make sense mathematically (for some purposes) The documentation on these commands is very poor and incomplete. There is mention of "scrolling through a dataset" but it is not clear what that means. Our main problem is that our applications generate points that are outside of the graphs range. We set min and max because we don't want the grid or the axis labels to change. But when a point is above the top of the grid, Charts Engine simply plots the maximum value. This is not what one would want to do in many instances. One would want the line to simply be hidden above the top of the graph. For example, if my y maximum is 100 and I plot from (1,1) to (10,1000), Charts Engine draws a line from (1,1) to (10,100). What I want (and what usually makes more sense, mathematically), is for the line to go from (1,1) to (10,1000), but disappear as it goes above 100 (the top of the graph) dissappearing at about (2,199), (I'm interpolating very roughly). I have ways to mathematically correct for this problem, but it REALLY is a case where Charts Engine is not behaving in a proper mathematical fashion.
Problem 3 I can use a cludge to correct for. But problems 1 and 2 are not in any way avoidable when running within a loop.
Sincerely,
Steve Alessi
The University of Iowa and the University of Bergen