简要说明
堆积条形图 是由 StackedBar3DSeriesView 对象来表示的,此对象属于 条形和柱状系列视图。 这种视图把不同系列中有相同参数的所有点显示为一个堆积条形 (例如,用于展示每个条形表示一个特定的类别)。 因此,每个条形的高度取决于该类别的所有系列值的总计。
在下面的插图中显示了一个堆积条形图。
注意 |
---|
堆积条形图可以显示包含正值或负值数据点的系列。 但是,有正值的系列只能与其他包含正值的系列相堆积; 有负值的系列与其他包含负值的系列相堆积。 注意,如果系列同时包含正值和负值数据点,那么它被作为有正值的系列进行处理,而它的所有负值都被视为零。 |
图表类型特征
下表列出了这种图表类型的主要特征。
特征 |
取值 |
---|---|
系列视图类型 | StackedBar3DSeriesView |
图象类型 | XYDiagram3D |
每个数据点的参数个数 | 1 |
每个数据点的取值个数 | 1 |
注意 |
---|
要获得关于哪些图表类型可以与 堆积条形图 组合使用的信息,请参阅 组合使用不同的系列视图 文档。 |
示例
下面的示例演示了在运行时刻如何创建 ChartControl (拥有两个 StackedBar3DSeriesView 类型的系列),设置它的常规属性,并把图表添加到窗体中。 在继续本示例之前,首先要在 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 stackedBar3DChart = new ChartControl(); // Create two series of the StackedBar3D view type. Series series1 = new Series("Series 1", ViewType.StackedBar3D); Series series2 = new Series("Series 2", ViewType.StackedBar3D); // Populate both series with points. 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 the series to the chart. stackedBar3DChart.Series.AddRange(new Series[] { series1, series2}); // Adjust the view-type-specific options of the first series. StackedBar3DSeriesView myView = (StackedBar3DSeriesView)series1.View; myView.BarDepthAuto = false; myView.BarDepth = 1.5; myView.BarWidth = 1; myView.Transparency = 160; myView.Model = Bar3DModel.Cylinder; myView.ShowFacet = false; // Access the diagram's options. ((XYDiagram3D)stackedBar3DChart.Diagram).ZoomPercent = 110; // Add a title to the chart and hide the legend. ChartTitle chartTitle1 = new ChartTitle(); chartTitle1.Text = "3D Stacked Bar Chart"; stackedBar3DChart.Titles.Add(chartTitle1); stackedBar3DChart.Legend.Visible = false; // Add the chart to the form. stackedBar3DChart.Dock = DockStyle.Fill; this.Controls.Add(stackedBar3DChart); } |
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 stackedBar3DChart As New ChartControl() ' Create two series of the StackedBar3D view type. Dim series1 As New Series("Series 1", ViewType.StackedBar3D) Dim series2 As New Series("Series 2", ViewType.StackedBar3D) ' Populate both series with points. 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 the series to the chart. stackedBar3DChart.Series.AddRange(New Series() { series1, series2}) ' Adjust the view-type-specific options of the first series. Dim myView As StackedBar3DSeriesView = CType(series1.View, StackedBar3DSeriesView) myView.BarDepthAuto = False myView.BarDepth = 1.5 myView.BarWidth = 1 myView.Transparency = 160 myView.Model = Bar3DModel.Cylinder myView.ShowFacet = False ' Access the diagram's options. CType(stackedBar3DChart.Diagram, XYDiagram3D).ZoomPercent = 110 ' Add a title to the chart and hide the legend. Dim chartTitle1 As New ChartTitle() chartTitle1.Text = "3D Stacked Bar Chart" stackedBar3DChart.Titles.Add(chartTitle1) stackedBar3DChart.Legend.Visible = False ' Add the chart to the form. stackedBar3DChart.Dock = DockStyle.Fill Me.Controls.Add(stackedBar3DChart) End Sub |
Show Me |
---|
在 DevExpress Code Central 数据库中可以找到完整的示例项目,网址是 http://www.devexpress.com/example=E1038。 取决于目标平台类型 (ASP.NET、WinForms 等),可以在线运行本示例,或者下载自动可执行的示例。 |