Chart / Charts / Chart Types / Polar / Polar Axes
Polar Axes

There are two types of polar axes - value and angle. The first one scales the polar values whereas the second one scales the polar angle. The polar axis type is determined by its anchor. There are two types of polar axis anchors - dock and cross. The dock anchor allows you to dock polar axes to one of the six polar docking zones and the cross anchor allows you to cross a polar axis with another axis with a different orientation.

 Creating a Polar Axis

You create a polar axis by creating an instance of the NPolarAxis class and adding it to the Axes collection of a Polar Chart:

C#
Copy Code
NPolarAxis valueAxis = new NPolarAxis();
polarChart.Axes.Add(valueAxis);
NPolarAxis angleAxis = new NPolarAxis();
angleAxis.Scale = new NAngularScale();
polarChart.Axes.Add(angleAxis);

The polar axis orientation and position are controlled by its anchor. There are two types of axis anchors – dock and cross axis anchors, which are discussed in the following section.

 Dock Polar Anchor

The polar dock axis anchor is represented by the NDockPolarAxisAnchor class. This anchor allows you to position the axis in one of the axis dock zones which are positioned on the edges of the chart bounding box or on the polar inner and outer rims. The following code shows how to anchor an axis to the outer polar rim:

C#
Copy Code
angleAxis.Anchor = new NDockPolarAxisAnchor(ENPolarAxisDockZone.OuterRim);
 Cross Polar Anchor

The cross polar anchor allows for the crossing of axes in polar model and logical space.

Axis Value Crossing

To create an axis that crosses another axis on a certain value you need to assign an instance of the NValueCrossPolarAxisAnchor class to its Anchor property. The following code creates an anchor that crosses the angle axis at 90 degrees:

C#
Copy Code
valueAxis.Anchor = new NValueCrossPolarAxisAnchor(90.0, angleAxis, ENPolarAxisOrientation.Value, ENScaleOrientation.Auto);

Axis Model Crossing

Similarly to create an axis that crosses another axis on a certain model value you need to assign an instance of the NModelCrossPolarAxisAnchor class to its Anchor property:

C#
Copy Code
valueAxis.Anchor = new NModelCrossPolarAxisAnchor(0.0, ENAxisCrossAlignment.Left, angleAxis, ENPolarAxisOrientation.Value, ENScaleOrientation.Auto);
 Axis Reflection

Both the cross and dock polar anchors have a property called PaintReflection, which is regarded when the axis acts like a value axis. The following code configures a cross value anchor to use reflection for the axis:

C#
Copy Code
valueAxis.Anchor = new NModelCrossPolarAxisAnchor(0.0, ENAxisCrossAlignment.Left, angleAxis, ENPolarAxisOrientation.Value, ENScaleOrientation.Auto);

 

See Also