启用双图表
下表的是每一种产品的销售数量和金额:
首先按照常规方法,用下面的代码来图示该表:
Dim
Chart
As WinForm.Chart
'定义一个图表变量
Dim Series As
WinForm.ChartSeries '定义一个图系变量
Chart = e.Form.Controls("Chart1")
' 引用窗口中的图表
Chart.VisualEffect = True
'加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Bar
'图表类型该为Bar(条形)
Chart.DataSource = "统计表1"
'设置绑定表
Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add() '增加第一个图系
Series.Text = "数量"
Series.X.DataField = "产品"
'X轴绑定到产品列
Series.Y.DataField = "数量"
'Y轴绑定到数量列
Series = Chart.SeriesList.Add() '增加第二个图系
Series.Text = "金额"
Series.X.DataField = "产品"
'X轴绑定到产品列
Series.Y.DataField = "金额"
'Y轴绑定到数量列
Chart.LegendVisible = True
'显示图列
Chart.LegendCompass= CompassEnum.South
'图列显示在南方(底端)
生成的图表为:
可以看到,由于金额和数量的数值范围差距太大,上述的图表不能明显看出每种产品的销售数量差别。
为了改变这种效果,我们将代码稍微修改一下:
Dim
Chart
As WinForm.Chart
'定义一个图表变量
Dim Series As
WinForm.ChartSeries '定义一个图系变量
Chart = e.Form.Controls("Chart1")
' 引用窗口中的图表
Chart.VisualEffect = True
'加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Bar
'图表1类型该为Bar(条形)
Chart.ChartType2 = ChartTypeEnum.XYPlot
'图表2类型该为线形
Chart.DataSource = "统计表1"
'设置绑定表
Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add()
'给图表1增加一个图系
Series.Text = "数量"
Series.X.DataField = "产品"
'X轴绑定到产品列
Series.Y.DataField = "数量"
'Y轴绑定到数量列
Chart.SeriesList2.Clear() '清除图表原来的图系
Series = Chart.SeriesList2.Add()
'给图表2增加一个图系
Series.Text = "金额"
Series.X.DataField = "产品"
'X轴绑定到产品列
Series.Y.DataField = "金额"
'Y轴绑定到数量列
Chart.LegendVisible = True
'显示图列
Chart.LegendCompass= CompassEnum.South
'图列显示在南方(底端)
Chart.AxisY.Text = "数量"
Chart.AxisY2.Text = "金额"
生成的图表为:
最关键的变动是我们将下面的一行:
Series = Chart.SeriesList.Add()
'增加第二个图系
改成了:
Series = Chart.SeriesList2.Add()
'给图表2增加一个图系
为什么多了一个数字2会造成如此大差别呢?
实际上每一个Chart都有两个图表,他们的图系集合分别是SeriesList和SeriesList2,所以上述的改动实际上就是将金额图系显示在第二个图表中。
两组图表共用X轴,而他们的Y轴是独立的,分别是AxisY和AxisY2。
由于有两个图表,所以分别指定每个图表的类型:
Chart.ChartType = ChartTypeEnum.Bar
'图表1类型该为Bar(条形)
Chart.ChartType2 = ChartTypeEnum.XYPlot
'图表2类型该为线形
同样因为有两个Y轴,我们需要明确指定每个Y轴的标题,这样才能知道每个图表图示的是那一列的数据:
Chart.AxisY.Text =
"数量"
Chart.AxisY2.Text = "金额"
同时采用两个图表的情况极为少见,本来不打算讲述,但是客户总会有“不正常”的要求,大家了解一下也不错。
本页地址:http://www.foxtable.com/webhelp/topics/0971.htm