corelibraries-devexpress-dot-xtracharts-dot-seriestemplatesummaryadapter.md
Returns options that configure how the series calculates summary values of a data source with numeric arguments.
Namespace : DevExpress.XtraCharts
Assembly : DevExpress.XtraCharts.v25.2.dll
NuGet Package : DevExpress.Charts
[PersistenceMode(PersistenceMode.InnerProperty)]
[XtraChartsLocalizableCategory(XtraChartsCategory.Data)]
public NumericSummaryOptions NumericSummaryOptions { get; }
<XtraChartsLocalizableCategory(XtraChartsCategory.Data)>
<PersistenceMode(PersistenceMode.InnerProperty)>
Public ReadOnly Property NumericSummaryOptions As NumericSummaryOptions
| Type | Description |
|---|---|
| NumericSummaryOptions |
Stores summarization settings for a chart with numeric arguments.
|
The NumericSummaryOptions include the SummaryFunction property. This property defines a function used to summarize series values.
The following example shows how to create multiple series based on a template and aggregate their points with equal arguments:
Define the chart control’s DataSource property.
Create a SeriesTemplateSummaryAdapter object.
Populate the adapter’s DataMembers collection. You should specify data members that contain point arguments, point values, and values that identify series.
Specify the SummaryOptionsBase.SummaryFunction property to select a function used to summarize values.
Use the SeriesTemplate.DataAdapter property to assign the adapter to the chart.
using DevExpress.XtraCharts;
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace SummaryChart {
public partial class Form1 : Form {
private void OnLoad(object sender, EventArgs e) {
// Specify the chart data source.
chart.DataSource = DataPoint.GetDataPoints();
//Create a summary data adapter.
SeriesTemplateSummaryAdapter dataAdapter = new SeriesTemplateSummaryAdapter();
// Create a data member that defines arguments.
dataAdapter.DataMembers.Add(new DataMember {
DataMemberType = ChartDataMemberType.Argument,
ColumnName = "Argument",
ScaleType = ScaleType.Numerical
});
// Create a data member that defines values.
dataAdapter.DataMembers.Add(new DataMember {
DataMemberType = ChartDataMemberType.Value,
ColumnName = "Value",
ScaleType = ScaleType.Numerical
});
// Create a data member that identifies data series.
dataAdapter.DataMembers.Add(new DataMember {
DataMemberType = ChartDataMemberType.Series,
ColumnName = "Name",
ScaleType = ScaleType.Qualitative
});
// Specify a summary function.
dataAdapter.NumericSummaryOptions.SummaryFunction = "AVERAGE([Value])";
// Assign the data adapter to the chart.
chart.SeriesTemplate.DataAdapter = dataAdapter;
}
public class DataPoint {
public double Argument { get; set; }
public double Value { get; set; }
public string Name { get; set; }
public static List<DataPoint> GetDataPoints() {
return new List<DataPoint> {
new DataPoint { Argument= 1, Value = 853D, Name = "Series 2"},
new DataPoint { Argument= 1, Value = 321D, Name = "Series 2"},
new DataPoint { Argument= 1, Value = 655D, Name = "Series 1"},
new DataPoint { Argument= 1, Value = 1325D, Name = "Series 1"},
new DataPoint { Argument= 2, Value = 653D, Name = "Series 2"},
new DataPoint { Argument= 2, Value = 172D, Name = "Series 2"},
new DataPoint { Argument= 2, Value = 255D, Name = "Series 1"},
new DataPoint { Argument= 3, Value = 981D, Name = "Series 1"},
new DataPoint { Argument= 3, Value = 913D, Name = "Series 2"},
new DataPoint { Argument= 4, Value = 123D, Name = "Series 1"},
new DataPoint { Argument= 4, Value = 1011D, Name = "Series 1"},
new DataPoint { Argument= 4, Value = 359D, Name = "Series 2"},
new DataPoint { Argument= 4, Value = 721D, Name = "Series 2"},
new DataPoint { Argument= 4, Value = 565D, Name = "Series 1"}
};
}
}
}
}
Imports DevExpress.XtraCharts
Imports System
Imports System.Collections.Generic
Imports System.Windows.Forms
Namespace SummaryChart
Public Partial Class Form1
Inherits Form
Private Sub OnLoad(ByVal sender As Object, ByVal e As EventArgs)
' Specify the chart data source.
chart.DataSource = DataPoint.GetDataPoints()
'Create a summary data adapter.
Dim dataAdapter As SeriesTemplateSummaryAdapter = New SeriesTemplateSummaryAdapter()
' Create a data member that defines arguments.
dataAdapter.DataMembers.Add(New DataMember With {
.DataMemberType = ChartDataMemberType.Argument,
.ColumnName = "Argument",
.ScaleType = ScaleType.Numerical
})
' Create a data member that defines values.
dataAdapter.DataMembers.Add(New DataMember With {
.DataMemberType = ChartDataMemberType.Value,
.ColumnName = "Value",
.ScaleType = ScaleType.Numerical
})
' Create a data member that identifies data series.
dataAdapter.DataMembers.Add(New DataMember With {
.DataMemberType = ChartDataMemberType.Series,
.ColumnName = "Name",
.ScaleType = ScaleType.Qualitative
})
' Specify a summary function.
dataAdapter.NumericSummaryOptions.SummaryFunction = "AVERAGE([Value])"
' Assign the data adapter to the chart.
chart.SeriesTemplate.DataAdapter = dataAdapter
End Sub
Public Class DataPoint
Public Property Argument As Double
Public Property Value As Double
Public Property Name As String
Public Shared Function GetDataPoints() As List(Of DataPoint)
Return New List(Of DataPoint) From {
New DataPoint With {
.Argument = 1,
.Value = 853R,
.Name = "Series 2"
},
New DataPoint With {
.Argument = 1,
.Value = 321R,
.Name = "Series 2"
},
New DataPoint With {
.Argument = 1,
.Value = 655R,
.Name = "Series 1"
},
New DataPoint With {
.Argument = 1,
.Value = 1325R,
.Name = "Series 1"
},
New DataPoint With {
.Argument = 2,
.Value = 653R,
.Name = "Series 2"
},
New DataPoint With {
.Argument = 2,
.Value = 172R,
.Name = "Series 2"
},
New DataPoint With {
.Argument = 2,
.Value = 255R,
.Name = "Series 1"
},
New DataPoint With {
.Argument = 3,
.Value = 981R,
.Name = "Series 1"
},
New DataPoint With {
.Argument = 3,
.Value = 913R,
.Name = "Series 2"
},
New DataPoint With {
.Argument = 4,
.Value = 123R,
.Name = "Series 1"
},
New DataPoint With {
.Argument = 4,
.Value = 1011R,
.Name = "Series 1"
},
New DataPoint With {
.Argument = 4,
.Value = 359R,
.Name = "Series 2"
},
New DataPoint With {
.Argument = 4,
.Value = 721R,
.Name = "Series 2"
},
New DataPoint With {
.Argument = 4,
.Value = 565R,
.Name = "Series 1"
}
}
End Function
End Class
End Class
End Namespace
See Also
SeriesTemplateSummaryAdapter Class