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


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

主题:圆饼图表生成

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17993 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/8/30 21:55:00 [只看该作者]


这里显示的和内容怎么对不起呀,感谢 感谢


图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图18年08月30日2153_1.png
图片点击可在新窗口打开查看


Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart= Forms("窗口1").Controls("Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
Dim t As Table = Tables("表A")
Dim sum As Double = 0
For Each s As String In t.DataTable.GetValues("第一列", "第一列 is not null")
    Dim fdr As DataRow = t.DataTable.find("第一列='" & s & "'", "_sortkey desc")
    If fdr IsNot Nothing Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Text = "全部" '设置图系的标题
        Series.TooltipText = Series.Text & " : {#YVAL}" '显示数据
        series.DataLabelText = "{#YVAL}" '显示数据
        Series.Length = 1 '一个系列只能包括一个值
        Series.Text = s
        Series.Y(0) = fdr("第二列")
        Series.DataLabelText = fdr("第二列")
        'msgbox(fdr("第二列"))
        sum += fdr("第二列")
    End If
Next

Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)

[此贴子已经被作者于2018/8/30 21:56:02编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/30 22:09:00 [只看该作者]

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart= Forms("窗口1").Controls("Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
Dim t As Table = Tables("表A")
Dim sum As Double = 0
For Each s As String In t.DataTable.GetValues("第一列", "第一列 is not null")
    Dim fdr As DataRow = t.DataTable.find("第一列='" & s & "'", "_sortkey desc")
    If fdr IsNot Nothing Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Length = 1 '一个系列只能包括一个值
        Series.Text = s
        Series.Y(0) = val(fdr("第二列"))
        Series.DataLabelText = fdr("第二列")
        Series.TooltipText = Series.Text & " : {#YVAL}" '显示数据
        series.DataLabelText = "{#YVAL}" '显示数据
        sum += fdr("第二列")
    End If
Next

Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17993 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/8/31 1:17:00 [只看该作者]

能在帮忙看看吗?
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("表A") '定义一个变量t引用数据表
Dim sm As Integer = t.Compute("Sum(第二列)") '计算总数量
Chart= Forms("窗口1").Controls("Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
For Each r As Row In t.Rows
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = r("第一列") & "(" & r("第二列") & ")" '设置图系的标题
    Series.Y(0) = r("第二列") '指定值
    Series.DataLabelText = Math.Round(r("第二列")*100/sm,2) & "%" '计算百分比
Next
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)

为什么第二列相同会在图表分开显示数据呢,感谢 感谢

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/31 9:20:00 [只看该作者]

上传具体实例说明你的问题,截图说明有什么问题。

[此贴子已经被作者于2018/8/31 9:20:47编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17993 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/8/31 10:06:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图18年08月31日1005_1.gif
图片点击可在新窗口打开查看
可以让相同的显示在一起吗?感谢 感谢 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:选行图表显示 (1).table


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/31 10:13:00 [只看该作者]

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart= Forms("窗口1").Controls("Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
Dim t As Table = Tables("表A")
Dim sm As Integer = t.Compute("Sum(第二列)") '计算总数量
For Each s As String In t.DataTable.GetValues("第一列", "第一列 is not null")
    Dim sum = t.DataTable.compute("sum(第二列)", "第一列='" & s & "'")
   
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = s & "(" & sum & ")" '设置图系的标题
    Series.Y(0) = sum
   
    Series.TooltipText = Series.Text & " : {#YVAL}" '显示数据
    Series.DataLabelText = Math.Round(sum*100/sm,2) & "%" '计算百分比
   
Next

Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17993 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/8/31 10:24:00 [只看该作者]

感谢 感谢 

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

    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = s & "(" & sum & ")" '设置图系的标题
    Series.Textv = s & "" '设置图系的标题
    Series.Y(0) = sum
    
    Series.TooltipText = Series.Textv & " : {#YVAL}" '显示数据
    Series.DataLabelText = Math.Round(sum*100/sm,2) & "%" '计算百分比

这里会显示两次数据,我应该怎么改一下呀,感谢 感谢 

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/31 10:28:00 [只看该作者]

哎,用了foxtable那么久,你没有一点点进步过

 

Series.TooltipText = s & " : {#YVAL}" '显示数据


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17993 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/8/31 10:39:00 [只看该作者]

感谢 感谢 会努力的,我会找一个时间段系统的学习,比如半年,主要是学个三五两天就忘记了,也不习惯今天学这个 明天学那个,感谢往日的帮助,感谢 ,你们开发的这个软件太有用了,后面肯定会抽时间学的,感谢 感谢  

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17993 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2018/9/16 20:37:00 [只看该作者]

能帮忙看看这个吗?可以让显现的图 支出日期列 只为当月吗?感谢 感谢 感谢 

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart= Forms("财务汇总窗口").Controls("Chart04") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
Dim t As Table = Tables("支出明细")
Dim sm As Integer = t.Compute("Sum(支出金额)") '计算总数量
For Each s As String In t.DataTable.GetValues("支出类型", "支出类型 is not null")
    Dim sum = t.DataTable.compute("sum(支出金额)", "支出类型='" & s & "'")
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = s & "(" & sum & ")" '设置图系的标题
    Series.Y(0) = sum
    Series.TooltipText = s & " : {#YVAL}" '显示数据
    Series.DataLabelText = Math.Round(sum*100/sm,2) & "%" '计算百分比
Next

 回到顶部
总数 43 上一页 1 2 3 4 5 下一页