Levels in Xamarin Sunburst Chart (SfSunburstChart)

18 May 20213 minutes to read

The sunburst chart is used to display hierarchical data. More than one hierarchical data can be added to the Levels collection of the sunburst chart. Each level of the hierarchy is represented by a circle.

The following code shows how to add hierarchical levels in the Levels collection.

<sunburst:SfSunburstChart.Levels>
     <sunburst:SunburstHierarchicalLevel />
  </sunburst:SfSunburstChart.Levels>
SunburstHierarchicalLevel level = new SunburstHierarchicalLevel();
  sunburstChart.Levels.Add(level);

Group member path

The GroupMemberPath is a string property that is used to map the group category value in the sunburst ItemsSource.

The following code shows how to map the group member path.

<sunburst:SfSunburstChart.Levels>
      <sunburst:SunburstHierarchicalLevel GroupMemberPath="Level1"/>
      <sunburst:SunburstHierarchicalLevel GroupMemberPath="Level2"/>
      <sunburst:SunburstHierarchicalLevel GroupMemberPath="Level3"/>
  </sunburst:SfSunburstChart.Levels>
SunburstHierarchicalLevel level1 = new SunburstHierarchicalLevel();
  level1.GroupMemberPath = "Level1";

  SunburstHierarchicalLevel level2 = new SunburstHierarchicalLevel();
  level2.GroupMemberPath = "Level2";

  SunburstHierarchicalLevel level3 = new SunburstHierarchicalLevel();
  level3.GroupMemberPath = "Level3";

  sunburstChart.Levels.Add(level1);
  sunburstChart.Levels.Add(level2);
  sunburstChart.Levels.Add(level3);

The following code specifies the levels for data model specified in the getting started section.

<sunburst:SfSunburstChart x:Name="sunburstChart" ItemsSource="{Binding DataSource}"  
                ValueMemberPath="EmployeesCount">

     <sunburst:SfSunburstChart.Levels>
         <sunburst:SunburstHierarchicalLevel GroupMemberPath="Country"/>
         <sunburst:SunburstHierarchicalLevel GroupMemberPath="JobDescription"/>
         <sunburst:SunburstHierarchicalLevel GroupMemberPath="JobGroup"/>
         <sunburst:SunburstHierarchicalLevel GroupMemberPath="JobRole"/>
    </sunburst:SfSunburstChart.Levels>

  </sunburst:SfSunburstChart>
SfSunburstChart sunburst = new SfSunburstChart();           
  sunburst.SetBinding(SfSunburstChart.ItemsSourceProperty, "DataSource");
  sunburst.ValueMemberPath = "EmployeesCount";
  sunburst.Levels.Add(new SunburstHierarchicalLevel() { GroupMemberPath = "Country" });
  sunburst.Levels.Add(new SunburstHierarchicalLevel() { GroupMemberPath = "JobDescription" });
  sunburst.Levels.Add(new SunburstHierarchicalLevel() { GroupMemberPath = "JobGroup" });
  sunburst.Levels.Add(new SunburstHierarchicalLevel() { GroupMemberPath = "JobRole" });
  this.Content = sunburstChart;

Levels support in Xamarin.Forms Sunburst