Foxtable(狐表)用户栏目专家坐堂 → 图表问题


  共有2672人关注过本帖树形打印复制链接

主题:图表问题

帅哥哟,离线,有人找我吗?
yqd1968
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:189 威望:0 精华:0 注册:2017/2/24 12:23:00
图表问题  发帖心情 Post By:2017/3/16 15:38:00 [显示全部帖子]

老师你好:

 

需求:我想通过复选组合框选择的值,来生成图系,如何处理,有没有前辈们做过类似的项目,请指点一下,谢谢

 

我一个表

 


图片点击可在新窗口打开查看此主题相关图片如下:ttt.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
yqd1968
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:189 威望:0 精华:0 注册:2017/2/24 12:23:00
  发帖心情 Post By:2017/3/16 17:36:00 [显示全部帖子]

有点色老师:

 

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("表AA") '定义一个变量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 <> "开标日期" Then
        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
        For r As Integer = 0 To t.GetCheckedRows.count - 1
            Series.X(r) = r
            Series.Y(r) = t.GetCheckedRows(r)(c.Name)
        Next
        Series.FitType = FitTypeEnum.Spline  '采用平滑线条
    End If
Next
For r As Integer = 0 To t.Rows.Count - 1
    Chart.AxisX.SetValueLabel(r, Format(t.Rows(r)("开标日期"),"MM-dd")) '指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
'Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度

 

没有显示图系,错在哪里??谢谢


 回到顶部
帅哥哟,离线,有人找我吗?
yqd1968
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:189 威望:0 精华:0 注册:2017/2/24 12:23:00
  发帖心情 Post By:2017/3/16 18:07:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:图表管理项目1.table

有点色老师帮我改一下,谢谢


 回到顶部
帅哥哟,离线,有人找我吗?
yqd1968
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:189 威望:0 精华:0 注册:2017/2/24 12:23:00
  发帖心情 Post By:2017/3/17 0:05:00 [显示全部帖子]

有点色老师你好:

如何取消Y值为空值的点,而直接连接,使线条平滑,谢谢!!!

 


图片点击可在新窗口打开查看此主题相关图片如下:aabb.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
yqd1968
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:189 威望:0 精华:0 注册:2017/2/24 12:23:00
  发帖心情 Post By:2017/3/17 0:06:00 [显示全部帖子]

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("代理投标测算_Table1") '定义一个变量t引用数据表
Dim dt As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
Dim ls As new List(Of String)
If dt.Text = "" Then
    For Each c As Col In t.Cols
        If c.name <> "开标日期" Then
            ls.add(c.name)
        End If
    Next
Else
    ls.AddRange( dt.text.Split(","))
End If
Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
chart.AxisX.ClearValueLabel
Chart.SeriesList.Clear() '清除图表原来的图系
t.sort = "开标日期"
For Each c As String In ls
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Text = c '设置图系的标题
    Series.Length = t.Rows.Count '设置图系的长度
    For r As Integer = 0 To t.Rows.Count - 1
        Series.X(r) = r
        Series.Y(r) = Round2(t.Rows(r)(c) * 100,2)
    Next
    Series.FitType = FitTypeEnum.Spline  '采用平滑线条
Next
For r As Integer = 0 To t.Rows.Count - 1
    Chart.AxisX.SetValueLabel(r, Format(t.Rows(r)("开标日期"),"MM-dd")) '指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
'Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Series.DataLabelText = "{#YVAL}%" '数据标示
Chart.AxisX.AnnoFormatString = "00.0%" '设置坐标轴的标示格式符号,指定日期标示格式

 回到顶部
帅哥哟,离线,有人找我吗?
yqd1968
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:17 积分:189 威望:0 精华:0 注册:2017/2/24 12:23:00
  发帖心情 Post By:2017/3/17 0:08:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:图表管理项目1.table


 回到顶部