Back to Devexpress

Stacked Spline Area Chart

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

latest6.5 KB
Original Source

Stacked Spline Area Chart

  • Jan 15, 2024
  • 4 minutes to read

Short Description

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

A Stacked 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.

Note

If two stacked areas contain data points for different arguments, points for missing arguments are not treated as zero-value points.

A Stacked Spline Area chart can display series containing data points with positive or negative values. However, a series with positive values is stacked only with other series containing positive values; and a series with negative values is stacked with other series containing negative values.

Note that if a series contains data points with both positive and negative values, it is treated as a series with positive values, while all its negative values are treated as zeros.

Chart Type Characteristics

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

FeatureValue
Series View typeStackedSplineAreaSeriesView
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 Stacked 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 StackedSplineAreaSeriesView 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 stackedSplineAreaChart = new ChartControl();

    // Create two stacked spline area series.
    Series series1 = new Series("Series 1", ViewType.StackedSplineArea);
    Series series2 = new Series("Series 2", ViewType.StackedSplineArea);

    // Add points to them.
    series1.Points.Add(new SeriesPoint("A", 80));
    series1.Points.Add(new SeriesPoint("B", 20));
    series1.Points.Add(new SeriesPoint("C", 50));
    series1.Points.Add(new SeriesPoint("D", 30));

    series2.Points.Add(new SeriesPoint("A", 40));
    series2.Points.Add(new SeriesPoint("B", 60));
    series2.Points.Add(new SeriesPoint("C", 20));
    series2.Points.Add(new SeriesPoint("D", 80));

    // Add both series to the chart.
    stackedSplineAreaChart.Series.AddRange(new Series[] { series1, series2 });

    // Adjust the view-type-specific options of the series.
    ((StackedSplineAreaSeriesView)series1.View).LineTensionPercent = 10;
    ((StackedSplineAreaSeriesView)series2.View).LineTensionPercent = 70;

    // Access the diagram's options.
    ((XYDiagram)stackedSplineAreaChart.Diagram).EnableAxisXZooming = true;

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

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

    // Add the chart to the form.
    stackedSplineAreaChart.Dock = DockStyle.Fill;
    this.Controls.Add(stackedSplineAreaChart);
}
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 stackedSplineAreaChart As New ChartControl()

    ' Create two stacked spline area series.
    Dim series1 As New Series("Series 1", ViewType.StackedSplineArea)
    Dim series2 As New Series("Series 2", ViewType.StackedSplineArea)

    ' Add points to them.
    series1.Points.Add(New SeriesPoint("A", 80))
    series1.Points.Add(New SeriesPoint("B", 20))
    series1.Points.Add(New SeriesPoint("C", 50))
    series1.Points.Add(New SeriesPoint("D", 30))

    series2.Points.Add(New SeriesPoint("A", 40))
    series2.Points.Add(New SeriesPoint("B", 60))
    series2.Points.Add(New SeriesPoint("C", 20))
    series2.Points.Add(New SeriesPoint("D", 80))

    ' Add both series to the chart.
    stackedSplineAreaChart.Series.AddRange(New Series() { series1, series2 })

    ' Adjust the view-type-specific options of the series.
    CType(series1.View, StackedSplineAreaSeriesView).LineTensionPercent = 10
    CType(series2.View, StackedSplineAreaSeriesView).LineTensionPercent = 70

    ' Access the diagram's options.
    CType(stackedSplineAreaChart.Diagram, XYDiagram).EnableAxisXZooming = True

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

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

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

See Also

XY-Diagram