简要说明
堆积面积图 是由 StackedAreaSeriesView 对象来表示的,此对象属于 面积系列视图。 这种视图把系列显示为图象上的面积,因此每个数据点的取值与下面数据点的取值累加。 当需要比较有相同参数的点的取值、以及取值合计时,这种视图是有用的。
在下面的插图中显示了一个堆积面积图。 注意,这种图表类型基于 XYDiagram,因此可以被旋转,从而垂直地或水平地显示图表。
注意 |
---|
如果两个堆积面积包含了 不同 参数的数据点,那么 不会 把缺少参数的点作为零值点处理。 堆积面积图可以显示包含正值或负值数据点的系列。 但是,有正值的系列只能与其他包含正值的系列相堆积; 有负值的系列与其他包含负值的系列相堆积。 注意,如果系列同时包含正值和负值数据点,那么它被作为有正值的系列进行处理,而它的所有负值都被视为零。 |
图表类型特征
下表列出了这种图表类型的主要特征。
特征 |
取值 |
---|---|
系列视图类型 | StackedAreaSeriesView |
图象类型 | 2D- XYDiagram |
每个数据点的参数个数 | 1 |
每个数据点的取值个数 | 1 |
注意 |
---|
要获得关于哪些图表类型可以与 堆积面积图 组合使用的信息,请参阅 组合使用不同的系列视图 文档。 |
示例
下面的示例演示了在运行时刻如何创建 ChartControl (拥有两个 StackedAreaSeriesView 类型的系列),并把图表添加到窗体中。 在继续本示例之前,首先要在 Visual Studio 中创建一个 Windows 窗体应用程序,并把所有 必需的程序集 包含到项目的“引用”列表中。
然后,把下列代码添加到 Form.Load 事件处理程序。
C# | 复制代码 |
---|---|
using System; using System.Windows.Forms; using DevExpress.XtraCharts; // ... private void Form1_Load(object sender, EventArgs e) { // Create a new chart. ChartControl stackedAreaChart = new ChartControl(); // Create two stacked area series. Series series1 = new Series("Series 1", ViewType.StackedArea); Series series2 = new Series("Series 2", ViewType.StackedArea); // Add points to them. series1.Points.Add(new SeriesPoint(1, 10)); series1.Points.Add(new SeriesPoint(2, 12)); series1.Points.Add(new SeriesPoint(3, 14)); series1.Points.Add(new SeriesPoint(4, 17)); series2.Points.Add(new SeriesPoint(1, 15)); series2.Points.Add(new SeriesPoint(2, 18)); series2.Points.Add(new SeriesPoint(3, 25)); series2.Points.Add(new SeriesPoint(4, 33)); // Add both series to the chart. stackedAreaChart.Series.AddRange(new Series[] { series1, series2 }); // Set the numerical argument scale types for the series, // as it is qualitative, by default. series1.ArgumentScaleType = ScaleType.Numerical; series2.ArgumentScaleType = ScaleType.Numerical; // Access the view-type-specific options of the series. ((StackedAreaSeriesView)series1.View).Transparency = 80; // Access the type-specific options of the diagram. ((XYDiagram)stackedAreaChart.Diagram).EnableAxisXZooming = true; // Hide the legend (if necessary). stackedAreaChart.Legend.Visible = false; // Add a title to the chart (if necessary). stackedAreaChart.Titles.Add(new ChartTitle()); stackedAreaChart.Titles[0].Text = "A Stacked Area Chart"; // Add the chart to the form. stackedAreaChart.Dock = DockStyle.Fill; this.Controls.Add(stackedAreaChart); } |
Visual Basic | 复制代码 |
---|---|
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 stackedAreaChart As New ChartControl() ' Create two stacked area series. Dim series1 As New Series("Series 1", ViewType.StackedArea) Dim series2 As New Series("Series 2", ViewType.StackedArea) ' Add points to them. series1.Points.Add(New SeriesPoint(1, 10)) series1.Points.Add(New SeriesPoint(2, 12)) series1.Points.Add(New SeriesPoint(3, 14)) series1.Points.Add(New SeriesPoint(4, 17)) series2.Points.Add(New SeriesPoint(1, 15)) series2.Points.Add(New SeriesPoint(2, 18)) series2.Points.Add(New SeriesPoint(3, 25)) series2.Points.Add(New SeriesPoint(4, 33)) ' Add both series to the chart. stackedAreaChart.Series.AddRange(New Series() { series1, series2 }) ' Set the numerical argument scale types for the series, ' as it is qualitative, by default. series1.ArgumentScaleType = ScaleType.Numerical series2.ArgumentScaleType = ScaleType.Numerical ' Access the view-type-specific options of the series. CType(series1.View, StackedAreaSeriesView).Transparency = 80 ' Access the type-specific options of the diagram. CType(stackedAreaChart.Diagram, XYDiagram).EnableAxisXZooming = True ' Hide the legend (if necessary). stackedAreaChart.Legend.Visible = False ' Add a title to the chart (if necessary). stackedAreaChart.Titles.Add(New ChartTitle()) stackedAreaChart.Titles(0).Text = "A Stacked Area Chart" ' Add the chart to the form. stackedAreaChart.Dock = DockStyle.Fill Me.Controls.Add(stackedAreaChart) End Sub |
Show Me |
---|
在 DevExpress Code Central 数据库中可以找到完整的示例项目,网址是 http://www.devexpress.com/example=E1212。 取决于目标平台类型 (ASP.NET、WinForms 等),可以在线运行本示例,或者下载自动可执行的示例。 |