Back to Devexpress

Spline Area Chart

windowsforms-3939-controls-and-libraries-chart-control-series-views-2d-series-views-area-series-views-spline-area-chart.md

latest5.4 KB
Original Source

Spline Area Chart

  • Oct 03, 2023
  • 3 minutes to read

Short Description

The Spline Area Chart is represented by the SplineAreaSeriesView object, which belongs to Area Series Views. This view is similar to Area Chart, but plots a fitted curve through each data point in a series.

A Spline Area chart is shown in the image below. Note that this chart type is based upon the XYDiagram, so it can be rotated to show areas either vertically or horizontally.

Chart Type Characteristics

The table below lists the main characteristics of this chart type.

FeatureValue
Series View typeSplineAreaSeriesView
Diagram type2D-XYDiagram
Number of arguments per series point1
Number of values per series point1

Note

For information on which chart types can be combined with the Spline Area Chart , refer to the Series Views Compatibility document.

Example

The following example demonstrates how to create a ChartControl with a series of the SplineAreaSeriesView type, set its general properties, and add this chart to a form at runtime. Before proceeding with this example, first create a Windows Forms Application in Visual Studio, and include all necessary assemblies to the References list of your project.

Then, add the following code to the Form.Load event handler.

csharp
using System;
using System.Windows.Forms;
using DevExpress.XtraCharts;
// ...

private void Form1_Load(object sender, EventArgs e) {
    // Create a new chart.
    ChartControl splineAreaChart = new ChartControl();

    // Create a spline area series.
    Series series1 = new Series("Series 1", ViewType.SplineArea);

    // Add points to it.
    series1.Points.Add(new SeriesPoint(1, 3));
    series1.Points.Add(new SeriesPoint(2, 12));
    series1.Points.Add(new SeriesPoint(3, 4));
    series1.Points.Add(new SeriesPoint(4, 17));
    series1.Points.Add(new SeriesPoint(5, 3));
    series1.Points.Add(new SeriesPoint(6, 12));
    series1.Points.Add(new SeriesPoint(7, 4));
    series1.Points.Add(new SeriesPoint(8, 17));

    // Add the series to the chart.
    splineAreaChart.Series.Add(series1);

    // Set the numerical argument scale types for the series,
    // as it is qualitative, by default.
    series1.ArgumentScaleType = ScaleType.Numerical;

    // Access the view-type-specific options of the series.
    ((SplineAreaSeriesView)series1.View).LineTensionPercent = 90;

    // Access the type-specific options of the diagram.
    ((XYDiagram)splineAreaChart.Diagram).AxisX.Range.SideMarginsEnabled = false;

    // Hide the legend (if necessary).
    splineAreaChart.Legend.Visible = false;

    // Add a title to the chart (if necessary).
    splineAreaChart.Titles.Add(new ChartTitle());
    splineAreaChart.Titles[0].Text = "A Spline Area Chart";

    // Add the chart to the form.
    splineAreaChart.Dock = DockStyle.Fill;
    this.Controls.Add(splineAreaChart);
}
vb
Imports System
Imports System.Windows.Forms
Imports DevExpress.XtraCharts
' ...

Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _ 
Handles MyBase.Load
    ' Create a new chart.
    Dim splineAreaChart As New ChartControl()

    ' Create a spline area series.
    Dim series1 As New Series("Series 1", ViewType.SplineArea)

    ' Add points to it.
    series1.Points.Add(New SeriesPoint(1, 3))
    series1.Points.Add(New SeriesPoint(2, 12))
    series1.Points.Add(New SeriesPoint(3, 4))
    series1.Points.Add(New SeriesPoint(4, 17))
    series1.Points.Add(New SeriesPoint(5, 3))
    series1.Points.Add(New SeriesPoint(6, 12))
    series1.Points.Add(New SeriesPoint(7, 4))
    series1.Points.Add(New SeriesPoint(8, 17))

    ' Add the series to the chart.
    splineAreaChart.Series.Add(series1)

    ' Set the numerical argument scale types for the series,
    ' as it is qualitative, by default.
    series1.ArgumentScaleType = ScaleType.Numerical

    ' Access the view-type-specific options of the series.
    CType(series1.View, SplineAreaSeriesView).LineTensionPercent = 90

    ' Access the type-specific options of the diagram.
    CType(splineAreaChart.Diagram, XYDiagram).AxisX.Range.SideMarginsEnabled = False

    ' Hide the legend (if necessary).
    splineAreaChart.Legend.Visible = False

    ' Add a title to the chart (if necessary).
    splineAreaChart.Titles.Add(New ChartTitle())
    splineAreaChart.Titles(0).Text = "A Spline Area Chart"

    ' Add the chart to the form.
    splineAreaChart.Dock = DockStyle.Fill
    Me.Controls.Add(splineAreaChart)
End Sub

See Also

XY-Diagram