There are some problems when using a Polar or PolarBar Series.
1.
Most of Zooming seems not to work. I can't get region zooming to work and zooming a rectangle shows problems.
To Zoom In, I use the following code (inserted in a MouseEventHandler and attached to MouseClick event of the chart):
Code: Select all
... // some code which I left out, since not relevant
Rectangle chartRect = tChart.Chart.ChartRect;
int newZoomWidth = chartRect.Width * 2/3;
int newZoomHeight = chartRect.Height * 2/3;
Rectangle zoomRect = new Rectangle(e.X - newZoomWidth/2, e.Y - newZoomHeight/2, newZoomWidth, newZoomHeight);
tChart.Zoom.ZoomRect(zoomRect);
... // some code which I left out, since not relevant
2.
The CursorTool doesn't work as expected.
- It gets stuck in a certain quadrant (the 4th). If depends on the plot it is associated with, more in detail to which axes this plot is attached.
The first image shows the default behavior, the 2nd if I changed the Series' associated Left Axis to Right:
- If you enable it to snap to a certian plot, it snaps to various locations in that quadrant, but none seem relevant.
You can easily replicate these problems by adding a TChart to a form. Add a Polar Series to it, a CursorTool (associate it with that Series). Then play a little with the Series' associated axes and the CursorTool Settings and you'll see the behaviors I explained.
3.
If I try to invert all the axes (bottom, top, left, right), some do, some don't. It only works for the Left Horizontal and Top Vertical axes, as can be seen in the following screenshot:
Also the plot doesn't make sense anymore.
Conclusion:
I think that all these problems are originating from the fact that the polar graph is "misusing" the normal axes in a polar chart (always got the impression that it is squeezed into a concept that isn't made for it).
The bottom axis is used for the right horizontal axis, the left axis for the bottom vertical axis. A normal plot is attached to the bottom and left axis, so as a result this would only cover the 4th quadrant, which could explain why the cursor gets stuck there and why it changes if you change the associated axes of the Series.
Also inverting the axes, only makes sense if you invert them all (since they share the same scaling = radius of circle). In my code I make sure that all the axes share the same settings, but this doesn't seem to work for the Inverted Property.
Also, I thought it had something to with the fact that you can set the associated axes of a Series to Both, which I don't do normally. But changing this doesn't seem to have any effect.
Regards