以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  帮助中的1个图示数据的例子,图表没有显示全  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93955)

--  作者:gryy
--  发布时间:2016/12/12 8:56:00
--  帮助中的1个图示数据的例子,图表没有显示全
地址: http://www.foxtable.com/webhelp/index.htm?page=2966.htm

这个列子的2014年12月份的数据,在图中没有显示,是怎么回事呢?

Dim Chart As WinForm.Chart \'定义一个图表变量
Dim
 Series As WinForm.ChartSeries \'定义一个图系变量
Chart
= e.Form.Controls("Chart1"\' 引用窗口中的图表
Chart
.SeriesList.Clear() \'清除图表原来的图系
For
 Each Year As String In DataTables("统计表1").GetValues("年")
    Series = Chart.SeriesList.Add() \'每年一个图系
    Series.Text = Year  \'指定图系名称为年份
    Series.Length = 12  \'指定图系的数据点数,1年12个月
    Chart.AxisX.Min = 1  \'指定X轴的最小值,也就是从1月开始
    Chart.AxisX.Max = 12 \'\'指定X轴的最大值,一年只有12个月
    For Month As Integer = 1 To 12 \'逐月设置坐标
        Series.X(Month) = Month      \'指定水平坐标为月份
        Dim r As DataRow = DataTables("统计表1").Find("年 = " & Year & " And  月 = " & Month)\'找出对应年月的行
        If r IsNot Nothing \'如果找到对应年月的行
            Series.Y(Month) = r("数量"\'指定数量作为垂直坐标
        End If
    Next

Next

--  作者:有点蓝
--  发布时间:2016/12/12 9:24:00
--  
例子有bug,自己改一下

For Month As Integer = 0 To 12 \'逐月设置坐标

--  作者:gryy
--  发布时间:2016/12/12 9:30:00
--  
0 到12 也不对哦
--  作者:有点蓝
--  发布时间:2016/12/12 9:49:00
--  
    For Month As Integer = 0 To 12 \'逐月设置坐标
        Series.X(Month) = Month+1      \'指定水平坐标为月份
        Dim r As DataRow = DataTables("统计表1").Find("年 = " & Year & " And  月 = " & Month+1)\'找出对应年月的行
        If r IsNot Nothing \'如果找到对应年月的行
            Series.Y(Month) = r("数量_1") \'指定数量作为垂直坐标
        End If
    Next

--  作者:gryy
--  发布时间:2016/12/12 9:51:00
--  
应该是这样:
For Month As Integer = 0 To 11 \'逐月设置坐标
        Series.X(Month) = Month+1      \'指定水平坐标为月份
        Dim r As DataRow = DataTables("统计表1").Find("年 = " & Year & " And  月 = " & Month+1)\'找出对应年月的行
        If r IsNot Nothing \'如果找到对应年月的行
            Series.Y(Month) = r("数量_1") \'指定数量作为垂直坐标
        End If
    Next