Back to Devexpress

SeriesTemplateSummaryAdapter.TimeSpanSummaryOptions Property

corelibraries-devexpress-dot-xtracharts-dot-seriestemplatesummaryadapter-66588eea.md

latest10.8 KB
Original Source

SeriesTemplateSummaryAdapter.TimeSpanSummaryOptions Property

Returns options that configure how the series calculates summary values of a data source with TimeSpan arguments.

Namespace : DevExpress.XtraCharts

Assembly : DevExpress.XtraCharts.v25.2.dll

NuGet Package : DevExpress.Charts

Declaration

csharp
[PersistenceMode(PersistenceMode.InnerProperty)]
[XtraChartsLocalizableCategory(XtraChartsCategory.Data)]
public TimeSpanSummaryOptions TimeSpanSummaryOptions { get; }
vb
<XtraChartsLocalizableCategory(XtraChartsCategory.Data)>
<PersistenceMode(PersistenceMode.InnerProperty)>
Public ReadOnly Property TimeSpanSummaryOptions As TimeSpanSummaryOptions

Property Value

TypeDescription
TimeSpanSummaryOptions

Stores summarization settings for a chart with TimeSpan arguments.

|

Remarks

The TimeSpanSummaryOptions include the SummaryFunction property. This property defines a function used to summarize series values.

Example

The following example shows how to create multiple series based on a template and aggregate their points with equal arguments:

csharp
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.TimeSpan
            });
            // 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.TimeSpanSummaryOptions.SummaryFunction = "AVERAGE([Value])";

            // Assign the data adapter to the chart.
            chart.SeriesTemplate.DataAdapter = dataAdapter;

        }
        public class DataPoint {
            public TimeSpan 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= new TimeSpan(1,0,0), Value = 853D, Name = "Series 2"},
                    new DataPoint { Argument= new TimeSpan(1,0,0), Value = 321D, Name = "Series 2"},
                    new DataPoint { Argument= new TimeSpan(1,0,0), Value = 655D, Name = "Series 1"},
                    new DataPoint { Argument= new TimeSpan(2,0,0), Value = 1325D, Name = "Series 1"},
                    new DataPoint { Argument= new TimeSpan(2,0,0), Value = 653D, Name = "Series 2"},
                    new DataPoint { Argument= new TimeSpan(2,0,0), Value = 172D, Name = "Series 2"},
                    new DataPoint { Argument= new TimeSpan(3,0,0), Value = 255D, Name = "Series 1"},
                    new DataPoint { Argument= new TimeSpan(3,0,0), Value = 981D, Name = "Series 1"},
                    new DataPoint { Argument= new TimeSpan(3,0,0), Value = 913D, Name = "Series 2"},
                    new DataPoint { Argument= new TimeSpan(3,0,0), Value = 123D, Name = "Series 1"},
                    new DataPoint { Argument= new TimeSpan(4,0,0), Value = 1011D, Name = "Series 1"},
                    new DataPoint { Argument= new TimeSpan(4,0,0), Value = 359D, Name = "Series 2"},
                    new DataPoint { Argument= new TimeSpan(4,0,0), Value = 721D, Name = "Series 2"},
                    new DataPoint { Argument= new TimeSpan(4,0,0), Value = 565D, Name = "Series 1"}
                };
            }
        }
    }
}
vb
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.DateTime
            })
            ' 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.DateTimeSummaryOptions.SummaryFunction = "AVERAGE([Value])"

            ' Assign the data adapter to the chart.
            chart.SeriesTemplate.DataAdapter = dataAdapter
        End Sub

        Public Class DataPoint
            Public Property Argument As Date
            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 = New DateTime(2020, 1, 1),
                        .Value = 853R,
                        .Name = "Series 2"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 1, 1),
                        .Value = 321R,
                        .Name = "Series 2"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 1, 1),
                        .Value = 655R,
                        .Name = "Series 1"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 2, 1),
                        .Value = 1325R,
                        .Name = "Series 1"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 2, 1),
                        .Value = 653R,
                        .Name = "Series 2"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 2, 1),
                        .Value = 172R,
                        .Name = "Series 2"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 2, 1),
                        .Value = 255R,
                        .Name = "Series 1"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 3, 1),
                        .Value = 981R,
                        .Name = "Series 1"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 3, 1),
                        .Value = 913R,
                        .Name = "Series 2"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 3, 1),
                        .Value = 123R,
                        .Name = "Series 1"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 4, 1),
                        .Value = 1011R,
                        .Name = "Series 1"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 4, 1),
                        .Value = 359R,
                        .Name = "Series 2"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 4, 1),
                        .Value = 721R,
                        .Name = "Series 2"
                    },
                    New DataPoint With {
                        .Argument = New DateTime(2020, 4, 1),
                        .Value = 565R,
                        .Name = "Series 1"
                    }
                }
            End Function
        End Class
    End Class
End Namespace

See Also

SeriesTemplateSummaryAdapter Class

SeriesTemplateSummaryAdapter Members

DevExpress.XtraCharts Namespace