以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  图表三个柱子为啥只有两个  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124761)

--  作者:漂亮美眉vszh
--  发布时间:2018/9/13 11:27:00
--  图表三个柱子为啥只有两个
老师帮我看下,我这里是三个数据,但只出现两根柱子,我需要三个


此主题相关图片如下:图表.png
按此在新窗口浏览图片

[此贴子已经被作者于2018/9/13 11:28:21编辑过]

--  作者:漂亮美眉vszh
--  发布时间:2018/9/13 11:28:00
--  
 Dim Chart As WinForm.Chart \'定义一个图表变量
            Dim Series As WinForm.ChartSeries \'定义一个图系变量
            Dim t As Table = Tables("APQP进度人员统计") \'定义一个变量t引用数据表
            Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
            Chart.ChartType = ChartTypeEnum.Bar \'图表类型改为Bar(条形)
            Chart.SeriesList.Clear() \'清除图表原来的图系
            For Each c As Col In t.Cols
                If c.Name = "姓名编号" OrElse c.Name = "延迟天数" OrElse c.name = "姓名" Then
                Else
\'MessageBox.Show(c.Name)
                    Series = Chart.SeriesList.Add() \'增加一个图系
                    Series.Text = c.Name \'设置图系的标题                 \'
  Series.Length = t.Rows.Count \'设置图系的长度
                    For r As Integer = 0 To t.Rows.Count - 1
                        Series.X(r) = r
                        Series.Y(r) = t.Rows(r)(c.Name)
                    Next
                End If
            Next
            \'  MessageBox.Show(300)
            For r As Integer = 0 To t.Rows.Count - 1
                Chart.AxisX.SetValueLabel(r, t.Rows(r)("姓名")) \'指定字符表示
            Next
            Chart.AxisX.AnnoWithLabels = True \'启用字符标示
            Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
            Chart.LegendVisible = True \'显示图列
            Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)

--  作者:有点甜
--  发布时间:2018/9/13 11:29:00
--  
有可能是bug,当条形图的图系只有一个数据的时候,就会出现这种问题。建议多加一行数据。