Foxtable(狐表)用户栏目专家坐堂 → 图表生成


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

主题:图表生成

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
图表生成  发帖心情 Post By:2018/8/27 21:39:00 [显示全部帖子]


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

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180827213353.png
图片点击可在新窗口打开查看
能帮忙看看这个吗?为什么这个这个生成是一个怎么做呀, 感谢 感谢 ,如果可以的话有个帮助链接也可以,感谢 感谢 ,
怎么让窗口表的内容生成到图表呀,就是就是麻烦的地方就是在只显示勾选的列的数据,感谢 感谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:统计学习.table



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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/8/27 22:45:00 [显示全部帖子]

感谢 感谢 感谢 感谢 太感谢了, 又学到了, 嘿嘿, 图表得到的数据可以是从窗口表上已经筛选出的内容显示吗?感谢 感谢 

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/8/28 0:10:00 [显示全部帖子]

感谢 感谢 ,比如我在窗口表筛选出 2016年,然后我再点击按钮,会改变窗口表筛选的行,感谢 感谢 

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/8/31 2:07:00 [显示全部帖子]

能在帮忙看看 当鼠标放到图表上显示数据的时候 应该怎么该啊 感谢 感谢 

可以在点击这些节点后选中窗口表对应的行吗?感谢 感谢
图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图18年08月31日0206_2.png
图片点击可在新窗口打开查看


Dim Chart As WinForm.Chart = e.Form.Controls("Chart4") ' 引用窗口中的图表
Dim series As winform.ChartSeries
chart.AxisX.Font = new font("宋体", 10) '设置图表字体大小
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.AxisX.ClearValueLabel
Chart.ChartType = ChartTypeEnum.XYPlot
Dim ls As new List(Of String)
Dim t As Table = Tables("财务汇总窗口_Table13")
t.Filter = iif(t.filter>"", "(" & t.filter & ")", "1=1") & " And 年份 Is not null"
For Each c As object In e.Form.Controls
    If Typeof c Is winform.CheckBox Then
        If c.Checked Then
            ls.add(c.Name)
        End If
    End If
Next
For i As Integer = 0 To ls.Count - 1
    
    'Series = Chart.SeriesList.Add() '增加一个图系
    'Series.Text = "全部" '设置图系的标题
    Series.TooltipText = Series.Text & " : {#YVAL}" '显示数据
    series.DataLabelText = "{#YVAL}" '显示数据
    
    Series = Chart.SeriesList.Add() '增加一个图系
    
    Series.Text = ls(i)
    Series.Length = t.Rows.count
    Dim idx As Integer = 0
    For r As Integer = 0 To t.Rows.Count - 1
        ' Series.TooltipText = r(ls(i)) & " : {#YVAL}"
        Series.X(r) = r
        Series.Y(r) = t.Rows(r)(ls(i))
    Next
Next
For r As Integer = 0 To t.Rows.Count - 1
    Chart.AxisX.SetValueLabel(r, t.Rows(r)("年份") & "-" &t.Rows(r)("月份")) '指定字符表示
Next
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)
Chart.AxisX.AnnoWithLabels = True '启用字符标示

'Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.LegendVisible = True '显示图列
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/8/31 15:49:00 [显示全部帖子]

能在帮忙看看 和表联动吗?就是选中图标的某给点时点击,同时选中窗口表对应时间的行,感谢 感谢
显示那个问题能解决了,只是选中表行实在是看不懂 ,感谢 感谢 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:统计学习.table



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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/8/31 17:21:00 [显示全部帖子]

老师,这个是因为什么啊,感谢 感谢 

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图18年08月31日1720_3.gif
图片点击可在新窗口打开查看


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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/8/31 17:37:00 [显示全部帖子]

怎么完全看不懂呀,感谢 感谢 这个有帮助吗,我在多看看帮助,感谢 感谢 
这个是那里搞错了啊,感谢 感谢 
图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图18年08月31日1741_4.gif
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/8/31 17:42:41编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/11/16 16:43:00 [显示全部帖子]

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("财务汇总窗口_Table7") '定义一个变量t引用数据表
Chart= Forms("财务汇总窗口").Controls("Chart2") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = t.Rows.Count '图系的数据点数等于表的行数
For i As Integer = 0 To t.Rows.Count - 1 '指定每个数据点的位置
    Series.X(i) = t.Rows(i)("变动日期") '指定水平坐标
    Series.Y(i) = t.Rows(i)("支出金额") '指定垂直坐标

老师 为什么我的是日期列,但是显示出来是数字呢 ,感谢 感谢 

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/11/17 11:52:00 [显示全部帖子]

老师 能请教一些下吗?
就是在 绑定 CheckBox 类型的时候可以是指定的表吗?不然有其他的表格相同的功能会显示找不到对于的列,感谢 感谢 
如果红色代码是日期 格式为 2018-xx-xx 这样对吗? 感谢 感谢 

Dim Chart As WinForm.Chart = e.Form.Controls("Chart12") ' 引用窗口中的图表
Dim series As winform.ChartSeries
chart.AxisX.Font = new font("宋体", 10) '设置图表字体大小
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.AxisX.ClearValueLabel
Chart.ChartType = ChartTypeEnum.XYPlot
Dim ls As new List(Of String)
Dim t As Table = Tables("财务汇总窗口_Table26")
t.Filter = iif(t.filter>"", "(" & t.filter & ")", "1=1") & " And 统计日期 Is not null"
For Each c As object In e.Form.Controls
    If Typeof c Is winform.CheckBox Then
        If c.Checked Then
            ls.add(c.Name)
        End If
    End If
Next
For i As Integer = 0 To ls.Count - 1
    Series = Chart.SeriesList.Add() '增加一个图系
    
    Series.Text = ls(i)
    Series.Length = t.Rows.count
    Dim idx As Integer = 0
    For r As Integer = 0 To t.Rows.Count - 1
        Series.TooltipText = ls(i) & " : {#YVAL}"
        Series.X(r) = r
        Series.Y(r) = t.Rows(r)(ls(i))
    Next
Next
For r As Integer = 0 To t.Rows.Count - 1
    Chart.AxisX.SetValueLabel(r, t.Rows(r)("变动日期")) '指定字符表示
    'Chart.AxisX.SetValueLabel(r, t.Rows(r)("年份") & "-" &t.Rows(r)("月份")) '指定字符表示
Next
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)
Chart.AxisX.AnnoWithLabels = True '启用字符标示

'Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.LegendVisible = True '显示图列
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/11/17 15:08:00 [显示全部帖子]


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

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


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20181117150503.jpg
图片点击可在新窗口打开查看
感谢 感谢 老师 是这样的 我在两个控件按钮里面输入的类似的代码
,然后在点击按钮的时候 会把另外一个表的表列读取到,但有会弹出报错的对话框。
感谢 感谢




按钮A
Dim Chart As WinForm.Chart = e.Form.Controls("Chart4") ' 引用窗口中的图表
Dim series As winform.ChartSeries
chart.AxisX.Font = new font("宋体", 10) '设置图表字体大小
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.AxisX.ClearValueLabel
Chart.ChartType = ChartTypeEnum.XYPlot
Dim ls As new List(Of String)
Dim t As Table = Tables("财务汇总窗口_Table13")
t.Filter = iif(t.filter>"", "(" & t.filter & ")", "1=1") & " And 年份 Is not null"
For Each c As object In e.Form.Controls
    If Typeof c Is winform.CheckBox Then
        If c.Checked Then
            ls.add(c.Name)
        End If
    End If
Next
For i As Integer = 0 To ls.Count - 1
    Series = Chart.SeriesList.Add() '增加一个图系
    
    Series.Text = ls(i)
    Series.Length = t.Rows.count
    Dim idx As Integer = 0
    For r As Integer = 0 To t.Rows.Count - 1
        Series.TooltipText = ls(i) & " : {#YVAL}"
        Series.X(r) = r
        Series.Y(r) = t.Rows(r)(ls(i))
    Next
Next
For r As Integer = 0 To t.Rows.Count - 1
    Chart.AxisX.SetValueLabel(r, t.Rows(r)("年份") & "-" &t.Rows(r)("月份")) '指定字符表示
Next
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)
Chart.AxisX.AnnoWithLabels = True '启用字符标示

'Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.LegendVisible = True '显示图列
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)

按钮B
Dim Chart As WinForm.Chart = e.Form.Controls("Chart12") ' 引用窗口中的图表
Dim series As winform.ChartSeries
chart.AxisX.Font = new font("宋体", 10) '设置图表字体大小
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.AxisX.ClearValueLabel
Chart.ChartType = ChartTypeEnum.XYPlot
Dim ls As new List(Of String)
Dim t As Table = Tables("财务汇总窗口_Table26")
t.Filter = iif(t.filter>"", "(" & t.filter & ")", "1=1") & " And 统计日期 Is not null"
For Each c As object In e.Form.Controls
    If Typeof c Is winform.CheckBox Then
        If c.Checked Then
            ls.add(c.Name)
        End If
    End If
Next
For i As Integer = 0 To ls.Count - 1
    Series = Chart.SeriesList.Add() '增加一个图系
    
    Series.Text = ls(i)
    Series.Length = t.Rows.count
    Dim idx As Integer = 0
    For r As Integer = 0 To t.Rows.Count - 1
        Series.TooltipText = ls(i) & " : {#YVAL}"
        Series.X(r) = r
        Series.Y(r) = t.Rows(r)(ls(i))
    Next
Next
For r As Integer = 0 To t.Rows.Count - 1
    Chart.AxisX.SetValueLabel(r, t.Rows(r)("变动日期")) '指定字符表示
    'Chart.AxisX.SetValueLabel(r, t.Rows(r)("年份") & "-" &t.Rows(r)("月份")) '指定字符表示
Next
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)
Chart.AxisX.AnnoWithLabels = True '启用字符标示

'Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.LegendVisible = True '显示图列
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)

能在帮忙看看 红色部分的代码是不是错了啊 感谢 感谢 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:图表交差错误.table


[此贴子已经被作者于2018/11/17 15:18:41编辑过]

 回到顶部
总数 11 1 2 下一页