Chart / Charts / Chart Types / Polar / Polar Axes
In This Topic
    Polar Axes
    In This Topic

    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