Articles in this section
Category / Section

How to set the custom labels with auto range for axis in WPF Chart (SfChart)?

1 min read

You cannot set the custom labels for axis without specify the range explicitly in WPF Chart (SfChart). It can be achieved by adding custom labels based on the position of visible labels in ActualRangeChanged event.

XAML

 <!--Hooked ActualRangeChangedEvent-->
<chart:SfChart.SecondaryAxis>
      <chart:NumericalAxis ActualRangeChanged="NumericalAxis_ActualRangeChanged"/>
</chart:SfChart.SecondaryAxis>

C#

private void NumericalAxis_ActualRangeChanged(object sender, Syncfusion.UI.Xaml.Charts.ActualRangeChangedEventArgs e)
{
  var axis = sender as NumericalAxis;
  //Gets the collection of visible labels.
  var labels = axis.VisibleLabels;
  if (labels != null)
  {
    if (axis.CustomLabels.Count > 0)
      axis.CustomLabels.Clear();
 
    //To add the custom labels based on the position of visible labels.
    for (int index = 0; index < labels.Count; index++)
    {
       var axisLabel = new ChartAxisLabel()
       {
           Position = labels[index].Position,//To set the position where the custom label should be placed.
           LabelContent = "Item" + index //To set the content from which labels are to be taken.
      };
      axis.CustomLabels.Add(axisLabel);
    }
  }
} 

The following screenshot illustrates the custom labels based on the range in y-axis.

WPF Chart displays Custom Labels with Auto Range

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied