2024年4月1日发(作者:)

DevExpress控件使用之多重坐标图形的绘制

有时候,基于对一些年份、月份的统计,需要集成多个数值指标进行分析,

因此就需要把多种数据放到一个图形里面展现,也成为多重坐标轴,多重坐标轴

可以是多个X轴,也可以是Y轴,它们的处理方式类似。本文通过一个例子对这

个方面进行介绍,希望给大家有一个很好的参考。

首先我们先来看一个图形例子,我们可以从里面图形的右边看到有多个Y轴,

一个Y轴代表一个指标分析,X轴为月份。

上图是采用了DevExpress的ChartControl图表控件来实现的,这个控件提

供了SecondaryAxisY对象来处理多重坐标的问题。

1.准备数据并绑定

首先,,拖动ChartControl控件到Form界面上,然后设计好布局。

下面为了测试准备了几项数据,绑定在下面列表GridControl对象里面,然

后把数据绑定到图表对象里面,如下代码。具体处理的时候,我们从数据库获取

对应指标的数据即可实现动态绑定。

///

/// 准备数据内容

///

///

privateDataTableCreateData()

{

DataTabledt = new DataTable();

(new DataColumn("类型"));

(new DataColumn("2005-1月", typeof(decimal)));

(new DataColumn("2005-2月", typeof(decimal)));

(new DataColumn("2005-3月", typeof(decimal)));

(new DataColumn("2005-4月", typeof(decimal)));

(new DataColumn("2005-5月", typeof(decimal)));

(new DataColumn("2005-6月", typeof(decimal)));

(new object[] { "员工人数", 437, 437, 414,

397, 387, 378 });

(new object[] { "人均月薪", 3964, 3961, 3979,

3974, 3967, 3972 });

(new object[] { "成本TEU", 3104, 1339, 3595.8,

3154.5, 2499.8, 3026 });

(new object[] { "人均生产率", 7.1, 3.06, 8.69,

7.95, 6.46, 8.01 });

(new object[] { "占2005年3月人数比例", 1.06, 1.06, 1,

0.96, 0.93, 0.91 });

returndt;

}

private void Form1_Load(object sender, EventArgs e)

{

DataTabledt = CreateData();

urce = dt;

CreateChart(dt);

}