Chart for .NET > User's Guide > Axes > Position > Polar Axis Anchors |
Polar axis anchors allow you to position a polar axis inside the polar model space. There are two types of polar anchors - dock and cross - the first one allows you to dock polar axes to one of the six polar docking zones and the second one allows you to cross a polar axis with another axis with different orientation.
The following picture shows the possible polar chart docking zones:
On this image there are three axes - a green value axis docked to the left dock zone, a red value axis docked to the bottom zone and an angular axis docked to the outer polar rim. The Top and Right dock zones are not used by this chart and are shown with two rectangles, showing where axes will appear if docked there.
Note that there is a significant difference between docking an axis to one of the cartesian dock zones (left, top, right, bottom) or to the outer rim. In the first four cases the axis will be able to scale values of the series displayed by the chart and in the second case it will scale angles. Usually when you dock polar axes to the outer rim zone you should also assign an angular scale configurator to them.
The following code snippet will dock the default polar value axis to the bottom polar dock zone:
C# |
Copy Code
|
---|---|
NPolarAxis axis = (NPolarAxis)polarChart.Axis(StandardAxis.Polar); |
Visual Basic |
Copy Code
|
---|---|
Dim axis As NPolarAxis = CType(polarChart.Axis(StandardAxis.Polar), NPolarAxis) |
The cross polar anchor allows for the crossing of axes in polar model space. The following picture illustrates this:
On the above picture there are three axes - one value axis scaling values in the range [0, 150] and two angular axes denoting angles in degrees (red axis) and grads (green axis). The red axis is docked to the outer rim, while the green axis is crossed at value 113 with the value axis. The value axis is also crossed at 0 with the angle axis. The following code shows how to change the value axis crossing to 90 degrees:
C# |
Copy Code
|
---|---|
NPolarAxis valueAxis = (NPolarAxis)polarChart.Axis(StandardAxis.Polar); valueAxis.Anchor = anchor; |
Visual Basic |
Copy Code
|
---|---|
Dim polarChart As New NPolarChart() Dim anchor As New NCrossPolarAxisAnchor(PolarAxisOrientation.Value) valueAxis.Anchor = anchor |
The effect from this code results in the following configuration of the value axis relative to the degree axis:
Both the cross and dock polar anchors have a property called PaintReflection, which is regarded when the axis is positioned as a value axis. The following code configures a cross value anchor to use reflection for the axis:
C# |
Copy Code
|
---|---|
NPolarAxis axis = (NPolarAxis)polarChart.Axis(StandardAxis.Polar); NCrossPolarAxisAnchor crossAnchor = new NCrossPolarAxisAnchor(PolarAxisOrientation.Value); crossAnchor.PaintReflection = true; axis.Anchor = crossAnchor; |
Visual Basic |
Copy Code
|
---|---|
Dim axis As NPolarAxis = polarChart.Axis(StandardAxis.Polar) Dim crossAnchor As New NCrossPolarAxisAnchor(PolarAxisOrientation.Value) crossAnchor.PaintReflection = True axis.Anchor = crossAnchor |
The effect of this code is shown on the following picture:
Windows Forms: Chart Gallery\Polar\Value Axis Position
Windows Forms: Chart Gallery\Polar\Angle Axis Position
Web Forms: Chart Gallery\Polar\Value Axis Position
Web Forms: Chart Gallery\Polar\Angle Axis Position