corelibraries-devexpress-dot-xtracharts-0094e76e.md
Represents a series view of the Swift Plot type.
Namespace : DevExpress.XtraCharts
Assembly : DevExpress.XtraCharts.v25.2.dll
NuGet Package : DevExpress.Charts
public class SwiftPlotSeriesView :
SwiftPlotSeriesViewBase,
ILineSeriesView
Public Class SwiftPlotSeriesView
Inherits SwiftPlotSeriesViewBase
Implements ILineSeriesView
The SwiftPlotSeriesView class provides the view-type-specific functionality for Swift Plot series within a chart control.
In addition to the settings inherited from the base SwiftPlotSeriesViewBase class, the SwiftPlotSeriesView class implements specific properties that allow you to adjust the appearance of a Swift Plot series (SwiftPlotSeriesView.Antialiasing and SwiftPlotSeriesView.LineStyle).
Note that a particular view type can be defined for a series via its SeriesBase.View property.
For more information, refer to Swift Plot Series View.
This example demonstrates how to create a real-time chart (which is updated in a very short period of time), based on the Swift Plot.
Note that this series view type is associated with the Swift Plot Diagram type, and you should cast your diagram object to this type, in order to access its specific options.
using System;
using System.Windows.Forms;
using DevExpress.XtraCharts;
// ...
const int interval = 20;
Random random = new Random();
int TimeInterval = 10;
double value1 = 10.0;
AxisRange AxisXRange {
get {
SwiftPlotDiagram diagram = chartControl1.Diagram as SwiftPlotDiagram;
if (diagram != null)
return diagram.AxisX.Range;
return null;
}
}
double CalculateNextValue(double value) {
return value + (random.NextDouble() * 10.0 - 5.0);
}
void UpdateValues() {
value1 = CalculateNextValue(value1);
}
private void timer1_Tick(object sender, EventArgs e) {
Series series1 = chartControl1.Series[0];
if (series1 == null)
return;
DateTime argument = DateTime.Now;
SeriesPoint[] pointsToUpdate1 = new SeriesPoint[interval];
for (int i = 0; i < interval; i++) {
pointsToUpdate1[i] = new SeriesPoint(argument, value1);
argument = argument.AddMilliseconds(1);
UpdateValues();
}
DateTime minDate = argument.AddSeconds(-TimeInterval);
int pointsToRemoveCount = 0;
foreach (SeriesPoint point in series1.Points)
if (point.DateTimeArgument < minDate)
pointsToRemoveCount++;
if (pointsToRemoveCount < series1.Points.Count)
pointsToRemoveCount--;
series1.Points.AddRange(pointsToUpdate1);
if (pointsToRemoveCount > 0) {
series1.Points.RemoveRange(0, pointsToRemoveCount);
}
if (AxisXRange != null) {
AxisXRange.SetMinMaxValues(minDate, argument);
}
}
Imports System
Imports System.Windows.Forms
Imports DevExpress.XtraCharts
' ...
Private Const interval As Integer = 20
Private random As New Random()
Private TimeInterval As Integer = 10
Private value1 As Double = 10.0
Private ReadOnly Property AxisXRange() As AxisRange
Get
Dim diagram As SwiftPlotDiagram = TryCast(chartControl1.Diagram, SwiftPlotDiagram)
If diagram IsNot Nothing Then
Return diagram.AxisX.Range
End If
Return Nothing
End Get
End Property
Private Function CalculateNextValue(ByVal value As Double) As Double
Return value + (random.NextDouble() * 10.0 - 5.0)
End Function
Private Sub UpdateValues()
value1 = CalculateNextValue(value1)
End Sub
Private Sub timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles timer1.Tick
Dim series1 As Series = chartControl1.Series(0)
If series1 Is Nothing Then
Return
End If
Dim argument As DateTime = DateTime.Now
Dim pointsToUpdate1(interval - 1) As SeriesPoint
For i As Integer = 0 To interval - 1
pointsToUpdate1(i) = New SeriesPoint(argument, value1)
argument = argument.AddMilliseconds(1)
UpdateValues()
Next i
Dim minDate As DateTime = argument.AddSeconds(-TimeInterval)
Dim pointsToRemoveCount As Integer = 0
For Each point As SeriesPoint In series1.Points
If point.DateTimeArgument < minDate Then
pointsToRemoveCount += 1
End If
Next point
If pointsToRemoveCount < series1.Points.Count Then
pointsToRemoveCount -= 1
End If
series1.Points.AddRange(pointsToUpdate1)
If pointsToRemoveCount > 0 Then
series1.Points.RemoveRange(0, pointsToRemoveCount)
End If
If AxisXRange IsNot Nothing Then
AxisXRange.SetMinMaxValues(minDate, argument)
End If
End Sub
IXtraSupportDeserializeCollectionItem
Object ChartElement SeriesViewBase XYDiagram2DSeriesViewBase SwiftPlotSeriesViewBase SwiftPlotSeriesView
See Also