LineSeries2D Class
Represents the 2D Line series.
Namespace: DevExpress.Xpf.Charts
Assembly: DevExpress.Xpf.Charts.v24.1.dll
NuGet Package: DevExpress.Wpf.Charts
Declaration
public class LineSeries2D :
SegmentSeries2DBase,
ISupportMarker2DHitTest,
ISupportMarker2D,
ILineSeries,
IGeometryHolder
Example
The following example demonstrates how to create a 2D Line chart. To do this, it is necessary to assign the ChartControl.Diagram property to XYDiagram2D, and then add a LineSeries2D
object with points to the diagram’s Diagram.Series collection.
Also, this example shows how to add a legend (showing series names) to a chart.
<Window x:Class="Line2DChart.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/charts"
xmlns:local ="clr-namespace:Line2DChart"
Title="Window1" Height="350" Width="620">
<Grid>
<dxc:ChartControl Name="chartControl1">
<dxc:ChartControl.DataContext>
<local:ChartViewModel/>
</dxc:ChartControl.DataContext>
<dxc:ChartControl.Diagram>
<dxc:XYDiagram2D>
<dxc:XYDiagram2D.Series>
<dxc:LineSeries2D DisplayName="Day Temperature"
DataSource="{Binding DataPoints}"
ArgumentScaleType="DateTime"
ArgumentDataMember="Time"
ValueDataMember="Value"
LabelsVisibility="True"
CrosshairLabelPattern="{}{A:MMMM}: {V:f2}°C"
MarkerSize="14"
MarkerVisible="True">
<dxc:LineSeries2D.MarkerModel>
<dxc:RingMarker2DModel/>
</dxc:LineSeries2D.MarkerModel>
<dxc:LineSeries2D.Label>
<dxc:SeriesLabel TextPattern="{}{V:f1}"
dxc:MarkerSeries2D.Angle="90"
ConnectorVisible="False"/>
</dxc:LineSeries2D.Label>
</dxc:LineSeries2D>
</dxc:XYDiagram2D.Series>
</dxc:XYDiagram2D>
</dxc:ChartControl.Diagram>
<dxc:ChartControl.Legend>
<dxc:Legend HorizontalPosition="Left"/>
</dxc:ChartControl.Legend>
</dxc:ChartControl>
</Grid>
</Window>
using System;
using System.Collections.Generic;
using System.Windows;
namespace Line2DChart {
public partial class Window1 : Window {
public Window1() {
InitializeComponent();
}
}
public class ChartViewModel {
List<DataPoint> dataPoints;
public List<DataPoint> DataPoints {
get {
if (dataPoints == null) {
dataPoints = new List<DataPoint> {
new DataPoint (new DateTime(2021, 1, 1), 7.2),
new DataPoint (new DateTime(2021, 2, 1), 8.3),
new DataPoint (new DateTime(2021, 3, 1), 12.2),
new DataPoint (new DateTime(2021, 4, 1), 15.6),
new DataPoint (new DateTime(2021, 5, 1), 19.6),
new DataPoint (new DateTime(2021, 6, 1), 22.7),
new DataPoint (new DateTime(2021, 7, 1), 25.2),
new DataPoint (new DateTime(2021, 8, 1), 25),
new DataPoint (new DateTime(2021, 9, 1), 21.1),
new DataPoint (new DateTime(2021, 10, 1), 16.3),
new DataPoint (new DateTime(2021, 11, 1), 10.8),
new DataPoint (new DateTime(2021, 12, 1), 7.5)
};
}
return dataPoints;
}
}
}
public class DataPoint {
public DateTime Time { get; set; }
public double Value { get; set; }
public DataPoint(DateTime time, double value) {
this.Time = time;
this.Value = value;
}
}
}
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the LineSeries2D class.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.