横向生成图表
前面的例子,都是一列一个图系,是纵向生成的。
假定有下图所示的一个数据表:
希望生成下面的图表,数据表中每行数据在图表中都对应一条线,也就是一行数据一个图系:
显然这个时候无法用绑定列的形式来生成上面的图表,只能手工编码添加数据点,大家可以参考下面的代码:
Dim
Chart As
WinForm.Chart
'定义一个图表变量
Dim
Series As
WinForm.ChartSeries
'定义一个图系变量
Dim
t As
Table = Tables("统计表1")
'定义一个变量t引用数据表
Chart =
e.Form.Controls("Chart1")
' 引用窗口中的图表
Chart.VisualEffect
= False
Chart.SeriesList.Clear()
'清除图表原来的图系
For
r As
Integer = 0
To t.Rows.count
- 1
Series =
Chart.SeriesList.Add()
'增加一个图系
Series.Text
= t.rows(r)("产品")
'设置图系的标题
Series.Length
= t.Cols.Count
- 1 '设置图系的长度
For c
As Integer
= 1 To
t.Cols.count
-1
Series.X(c
- 1) = c -
1
Series.Y(c
- 1) = t.Rows(r)(c)
Chart.AxisX.SetValueLabel(c
- 1, t.Cols(c).caption)
'指定字符表示
Next
Next
Chart.AxisX.AnnoWithLabels
= True
'启用字符标示
Chart.LegendVisible
= True
'显示图列
Chart.LegendCompass=
CompassEnum.South
'图列显示在南方(底端)