ActiveReports for .NET 3 Online Help Request technical support
Standard Axes
User Guide > Concepts > Charts > Chart Appearance > Chart Axes and Walls > Standard Axes

Glossary Item Box

The Chart control provides the means to change axis settings at design time or run time. Chart axes make it possible to view and understand the data plotted in a graph.

Axis Types

Most 2D charts contain a numerical axis (AxisY) and a categorical axis (AxisX). 3D charts include another numerical axis (AxisZ). These axes are accessible at run time from the ChartArea object and allow you to control the settings for each, including scaling, labels, and various formatting properties. For any of the scaling or labeling properties you set to show up at run time, you will need to set the Visible property of the axis to True.

Changing Axis Settings

Axis settings can be changed at design time by clicking on a Chart control and using the Properties Window or at run time in code from the chart's ChartArea object.

Scaling

For normal linear scaling on a numeric axis, you will need to set the Max and Min properties for the axis, which correspond to the numerical values in the chart's data series. You will also need to set the Step property of the MajorTick to show the major numerical unit values. The Step property controls where labels and/or tick marks are shown on the numerical axis.

' Visual Basic
With Me.ChartControl1.ChartAreas(0).Axes("AxisY")
   .Max = 100
   .Min = 0
   .MajorTick.Step = 10
End With

// C#
this.chartControl1.ChartAreas[0].Axes["AxisY"].Max = 100;
this.chartControl1.ChartAreas[0].Axes["AxisY"].Min = 0;
this.chartControl1.ChartAreas[0].Axes["AxisY"].MajorTick.Step = 10;	

The Chart control also supports logarithmic scaling which allows you to show the vertical spacing between two points that corresponds to the percentage of change between those numbers. You can set your numeric axis to scale logarithmically by setting the IsLogarithmic property on the axis to True and setting the Max and Min properties of the axis.

Labeling

To show labels on an axis, you will need to specify the value for the LabelsGap property, set your LabelsFont properties, and set LabelsVisible to True. These properties can be set in the AxisBase Collection editor, which is accessed at design time by clicking the ellipsis button next to the ChartAreas (Collection) property, then the Axes (Collection) property of the ChartArea. 

Labels render first, and then the chart fills in the remaining area, so be sure to make the chart large enough if you use angled labels.

You can specify strings to be used for the labels instead of numerical values on an axis by using the Labels collection property at design time or assigning a string array to the Labels property at run time. You can also specify whether you want your axis labels to appear on the outside or inside of the axis line using the LabelsInside property. By default, labels appear outside the axis line.

Secondary Axes

By default, a Chart object includes secondary X and Y axes (AxisX2 and AxisY2). At design time or run time, you can specify a secondary axis to plot data against by setting all of the appropriate properties for AxisX2 or AxisY2, including the Visible property.

If you want to use two axes to show the same data as it appears on two different scales, you can set the primary axis to show the actual data value scale, for example, and set the secondary axis to show a logarithmic scale.

' Visual Basic
' set properties for AxisY (primary axis)
With Me.ChartControl1.ChartAreas(0).Axes("AxisY")
   .Max = 25
   .Min = 0
   .MajorTick.Step = 5
End With

' set properties for AxisY2 (secondary Y axis)
With Me.ChartControl1.ChartAreas(0).Axes("AxisY2")
   .Max = 1000
   .Min = 0
   .MajorTick.Step = 200
   ' set the scaling for the secondary axis to logarithmic
   .AxisType = DataDynamics.ActiveReports.Chart.AxisType.Logarithmic
   .Visible = True
End With

// C#
// set properties for AxisY (primary axis)
this.chartControl1.ChartAreas[0].Axes["AxisY"].Max = 25;
this.chartControl1.ChartAreas[0].Axes["AxisY"].Min = 0;
this.chartControl1.ChartAreas[0].Axes["AxisY"].MajorTick.Step = 5;

// set properties for AxisY2 (secondary Y axis)
this.chartControl1.ChartAreas[0].Axes["AxisY2"].Max = 1000;
this.chartControl1.ChartAreas[0].Axes["AxisY2"].Min = 0;
this.chartControl1.ChartAreas[0].Axes["AxisY2"].MajorTick.Step = 200;
// set the axis type for the secondary axis to logarithmic
this.chartControl1.ChartAreas[0].Axes["AxisY2"].AxisType = DataDynamics.ActiveReports.Chart
	.AxisType.Logarithmic;
this.chartControl1.ChartAreas[0].Axes["AxisY2"].Visible = true;	
©2009. All Rights Reserved.