以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  图表的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85179)

--  作者:wjl-se
--  发布时间:2016/5/19 13:39:00
--  图表的问题

 http://www.foxtable.com/help/topics/2966.htm

这一段帮助,图表里12月份怎么不显示呢?明明是有数据呀。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160519133642.jpg
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/5/19 14:30:00
--  
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 = 0 To 11 \'逐月设置坐标
        Series.X(Month) = Month       \'指定水平坐标为月份
        Dim r As DataRow = DataTables("统计表1").Find("年 = " & Year & " And  月 = " & Month+1)\'找出对应年月的行
        If r IsNot Nothing \'如果找到对应年月的行
            Series.Y(Month) = r("数量") \'指定数量作为垂直坐标
        End If
        Chart.AxisX.SetValueLabel(month, month+1 & "月") \'指定字符表示
    Next
Next
Chart.AxisX.AnnoWithLabels = True \'启用字符标示

--  作者:wjl-se
--  发布时间:2016/5/19 14:43:00
--  
 这样1月又不显示了。。。
--  作者:wjl-se
--  发布时间:2016/5/19 15:59:00
--  

还是不行啊,代码没问题,循环执行12次,图表只显示11个节点,什么情况?


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160519155323.jpg
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/5/19 16:01:00
--  

 

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 = 13   \'指定图系的数据点数,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


--  作者:wjl-se
--  发布时间:2016/5/19 16:05:00
--  

终于搞定,谢谢啦!