The SciChartLegend control is simply an ItemsControl which displays data by binding to an ObservableCollection of SeriesInfo via the LegendModifier.LegendData property.
In English, what that means is, if you can figure out how to display a hierarchical group in an ItemsControl then you can do the same in the SciChart Legend control.
What you may need to do is to create your own class inheriting from ItemsControl to bind to LegendModifier.LegendData and group the items as you wish. Or, use an attached behaviour or converter to group items.
Next, you can use your own class or ItemsControl (instead of SciChartLegend) using the technique in the LegendModifier Documentation.
Alternatively – Binding LegendModifier.LegendData to SciChartLegend
You can alternatively bind LegendModifier.LegendData to a SciChartLegend and place anywhere in your application. You can also bind to an LegendModifier.LegendData to an ItemsControl.ItemsSource and template it as you wish.
<!-- Somewhere else in your application, you can declare n ItemsControl -->
<!-- and bind to LegendModifier.LegendData -->
<ItemsControl
Margin="23,23"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
<!-- Here you may need a converter or attached behaviour to group the SeriesInfo as you wish -->
ItemsSource="{Binding LegendData.SeriesInfo, ElementName=legendModifier, Mode=OneWay}">
<ItemsControl.ItemTemplate>
<!-- Here you may need a Hierachical Data Template to display hierachical data -->
<DataTemplate x:Key="SciChartLegendItemTemplate" DataType="chartData:SeriesInfo">
<StackPanel Orientation="Horizontal">
<CheckBox Margin="5,0,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
IsChecked="{Binding RenderableSeries.IsVisible, Mode=TwoWay}"
Visibility="Visible" />
<r:PointMarker Width="40"
Height="10"
Margin="5,0,0,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
DataContext="{Binding RenderableSeries}"
DeferredContent="{Binding LegendMarkerTemplate}"
Visibility="{Binding ShowSeriesMarkers, RelativeSource={RelativeSource AncestorType=visuals:SciChartLegend}, Converter={StaticResource BooleanToVisibilityConverter}}" />
<TextBlock Margin="5,0,5,0"
HorizontalAlignment="Left"
Text="{Binding SeriesName}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
While something like this is not a complete solution, it does show you how to use the SciChart Legend API to substitute an ItemsControl and template legend items. From that hopefully you should be able to group the items and display data in a hierachical way.