corelibraries-devexpress-dot-xtracharts-a792a950.md
A collection that stores calculated fields.
Namespace : DevExpress.XtraCharts
Assembly : DevExpress.XtraCharts.v25.2.dll
NuGet Package : DevExpress.Charts
public class ChartCalculatedFieldCollection :
ChartElementNamedCollection,
IEnumerable<ICalculatedField>,
IEnumerable
Public Class ChartCalculatedFieldCollection
Inherits ChartElementNamedCollection
Implements IEnumerable(Of ICalculatedField),
IEnumerable
The following members return ChartCalculatedFieldCollection objects:
| Library | Related API Members |
|---|---|
| WinForms Controls | ChartControl.CalculatedFields |
| ASP.NET MVC Extensions | ChartControlSettings.CalculatedFields |
| ASP.NET Web Forms Controls | WebChartControl.CalculatedFields |
The ChartCalculatedFieldCollection is a collection of the ChartCalculatedField objects.
The following example shows how to create a calculated field and then use this field as a data source for a series. The field’s values are calculated by the following expression: [Time.Seconds] * [Velocity].
using DevExpress.XtraCharts;
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace CalculatedFieldExample {
public partial class Form1 : Form {
//...
private void Form1_Load(object sender, EventArgs e) {
chartControl1.DataSource = GetDataPoints();
ChartCalculatedField calcField = new ChartCalculatedField();
calcField.Expression = "[Time.Seconds] * [Velocity]";
calcField.FieldType = ChartCalculatedFieldType.Double;
calcField.Name = "Displacement";
chartControl1.CalculatedFields.Add(calcField);
Series series = new Series("series", ViewType.Line);
series.ArgumentDataMember = "Time";
series.ValueDataMembers.AddRange("Displacement");
chartControl1.Series.Add(series);
XYDiagram diagram = chartControl1.Diagram as XYDiagram;
diagram.AxisX.TimeSpanScaleOptions.MeasureUnit = TimeSpanMeasureUnit.Second;
diagram.AxisY.WholeRange.AlwaysShowZeroLevel = false;
}
public List<DataPoint> GetDataPoints() {
List<DataPoint> dataPoints = new List<DataPoint>() {
new DataPoint (new TimeSpan(0, 0, 0), 10),
new DataPoint (new TimeSpan(0, 0, 1), 11.46),
new DataPoint (new TimeSpan(0, 0, 2), 11.90),
//...
// Other data points here.
// ...
new DataPoint (new TimeSpan(0, 0, 12), 15.756)
};
return dataPoints;
}
}
public class DataPoint {
public TimeSpan Time { get; set; }
public double Velocity { get; set; }
public DataPoint(TimeSpan time, double velocity) {
this.Time = time;
this.Velocity = velocity;
}
}
}
Imports DevExpress.XtraCharts
Imports System
Imports System.Collections.Generic
Imports System.Windows.Forms
Namespace CalculatedFieldExample
Public Partial Class Form1
Inherits Form
'...
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
chartControl1.DataSource = GetDataPoints()
Dim calcField As ChartCalculatedField = New ChartCalculatedField()
calcField.Expression = "[Time.Seconds] * [Velocity]"
calcField.FieldType = ChartCalculatedFieldType.[Double]
calcField.Name = "Displacement"
chartControl1.CalculatedFields.Add(calcField)
Dim series As Series = New Series("series", ViewType.Line)
series.ArgumentDataMember = "Time"
series.ValueDataMembers.AddRange("Displacement")
chartControl1.Series.Add(series)
Dim diagram As XYDiagram = TryCast(chartControl1.Diagram, XYDiagram)
diagram.AxisX.TimeSpanScaleOptions.MeasureUnit = TimeSpanMeasureUnit.Second
diagram.AxisY.WholeRange.AlwaysShowZeroLevel = False
End Sub
Public Function GetDataPoints() As List(Of DataPoint)
Dim dataPoints As List(Of DataPoint) = New List(Of DataPoint)() From {
New DataPoint(New TimeSpan(0, 0, 0), 10),
New DataPoint(New TimeSpan(0, 0, 1), 11.46),
New DataPoint(New TimeSpan(0, 0, 2), 11.90),
'...
' Other data points here.
'...
New DataPoint(New TimeSpan(0, 0, 12), 15.756)
}
Return dataPoints
End Function
End Class
Public Class DataPoint
Public Property Time As TimeSpan
Public Property Velocity As Double
Public Sub New(ByVal time As TimeSpan, ByVal velocity As Double)
Me.Time = time
Me.Velocity = velocity
End Sub
End Class
End Namespace
Object CollectionBase ChartCollectionBase ChartElementNamedCollection ChartCalculatedFieldCollection
See Also