The Stacked Area Chart is represented by the StackedArea3DSeriesView object, which belongs to Area Series Views. This view displays series as areas on a diagram, so that the value of each data point is aggregated with the underlying data points' values. This view is useful when it's necessary to compare both the point values and their aggregate for the same point arguments.
A Stacked Area chart is shown in the image below.

Note
If two stacked areas contain data points for different arguments, points for missing arguments are not treated as zero-value points.
A Stacked 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.
The table below lists the main characteristics of this chart type.
Note
For information on which chart types can be combined with the Stacked Area Chart, refer to the Series Views Compatibility document.
The following example demonstrates how to create a ChartControl with two series of the StackedArea3DSeriesView type, set their 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.
C# |
using System;
using System.Windows.Forms;
using DevExpress.XtraCharts;
private void Form1_Load(object sender, EventArgs e) {
ChartControl stackedArea3DChart = new ChartControl();
Series series1 = new Series("Series 1", ViewType.StackedArea3D);
Series series2 = new Series("Series 2", ViewType.StackedArea3D);
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));
stackedArea3DChart.Series.AddRange(new Series[] {
series1,
series2});
((StackedArea3DSeriesView)series1.View).AreaWidth = 4;
((StackedArea3DSeriesView)series2.View).AreaWidth = 3;
((XYDiagram3D)stackedArea3DChart.Diagram).ZoomPercent = 110;
ChartTitle chartTitle1 = new ChartTitle();
chartTitle1.Text = "3D Stacked Area Chart";
stackedArea3DChart.Titles.Add(chartTitle1);
stackedArea3DChart.Legend.Visible = false;
stackedArea3DChart.Dock = DockStyle.Fill;
this.Controls.Add(stackedArea3DChart);
}
|
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
Dim stackedArea3DChart As New ChartControl()
Dim series1 As New Series("Series 1", ViewType.StackedArea3D)
Dim series2 As New Series("Series 2", ViewType.StackedArea3D)
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))
stackedArea3DChart.Series.AddRange(New Series() { series1, series2})
CType(series1.View, StackedArea3DSeriesView).AreaWidth = 4
CType(series2.View, StackedArea3DSeriesView).AreaWidth = 3
CType(stackedArea3DChart.Diagram, XYDiagram3D).ZoomPercent = 110
Dim chartTitle1 As New ChartTitle()
chartTitle1.Text = "3D Stacked Area Chart"
stackedArea3DChart.Titles.Add(chartTitle1)
stackedArea3DChart.Legend.Visible = False
stackedArea3DChart.Dock = DockStyle.Fill
Me.Controls.Add(stackedArea3DChart)
End Sub
|