横向生成图表

前面的例子,都是一列一个图系,是纵向生成的。

假定有下图所示的一个数据表:

希望生成下面的图表,数据表中每行数据在图表中都对应一条线,也就是一行数据一个图系:

显然这个时候无法用绑定列的形式来生成上面的图表,只能手工编码添加数据点,大家可以参考下面的代码:

Dim Chart  As WinForm.Chart  '定义一个图表变量
Dim
Series As WinForm.ChartSeries '定义一个图系变量
Dim
t As TableTables("统计表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  '图列显示在南方(底端)


本页地址:http://www.foxtable.com/webhelp/topics/3223.htm