Foxtable(狐表)用户栏目专家坐堂 → 关于作图,请教下如何做一行记录的图表


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

主题:关于作图,请教下如何做一行记录的图表

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


加好友 发短信
等级:童狐 帖子:285 积分:2254 威望:0 精华:0 注册:2011/8/16 10:11:00
关于作图,请教下如何做一行记录的图表  发帖心情 Post By:2017/4/15 15:14:00 [只看该作者]

看了狐表的帮助文档,作图的时候是以列来做做统计图表,请问下能以行,也就是一条记录来做图表吗?

比如下下图我要用表中的某一天来生成,脂肪,碳水化合物,蛋白质的百分比饼状图,,请问如何做,谢谢

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

[此贴子已经被作者于2017/4/15 15:16:22编辑过]

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


加好友 发短信
等级:童狐 帖子:285 积分:2254 威望:0 精华:0 注册:2011/8/16 10:11:00
  发帖心情 Post By:2017/4/15 15:19:00 [只看该作者]

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("营养素作图统计表") '定义一个变量t引用数据表
Chart= Forms("统计图").Controls("Chart1") ' 引用窗口中的图表
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("能量") '指定值
Next
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)
图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/15 15:33:00 [只看该作者]

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("营养素作图统计表") '定义一个变量t引用数据表
Chart= Forms("统计图").Controls("Chart1") ' 引用窗口中的图表
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
Dim r As Row = t.Current
For Each c As Col In t.Cols
    If c.Name <> "日期" Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Length = 1 '一个系列只能包括一个值
        Series.Text = c.name & "(" & r(c.name) & ")" '设置图系的标题
        Series.Y(0) = r(c.name) '指定值
    End If
Next
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)

 


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


加好友 发短信
等级:童狐 帖子:285 积分:2254 威望:0 精华:0 注册:2011/8/16 10:11:00
  发帖心情 Post By:2017/4/15 16:11:00 [只看该作者]

你好,我只需要用“碳水化合物,脂肪,蛋白质”做图,请问如何处理,现在是全部一条都显示出来了


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

[此贴子已经被作者于2017/4/15 16:12:57编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/15 16:14:00 [只看该作者]

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("营养素作图统计表") '定义一个变量t引用数据表
Chart= Forms("统计图").Controls("Chart1") ' 引用窗口中的图表
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
Dim r As Row = t.Current
Dim cs() As String = {"碳水化合物","脂肪","蛋白质"}
For Each c As String In cs
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = c & "(" & r(c) & ")" '设置图系的标题
    Series.Y(0) = r(c) '指定值
Next
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)

[此贴子已经被作者于2017/4/15 16:14:34编辑过]

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


加好友 发短信
等级:童狐 帖子:285 积分:2254 威望:0 精华:0 注册:2011/8/16 10:11:00
  发帖心情 Post By:2017/4/15 16:40:00 [只看该作者]

你好好,请问如何把右边的条目信息在饼图上直接显示,而不是在右边单独出现呢?谢谢
图片点击可在新窗口打开查看此主题相关图片如下:333.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/15 16:46:00 [只看该作者]

加上代码

 

Series.DataLabelText = c & "(" & r(c) & ")"


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


加好友 发短信
等级:童狐 帖子:285 积分:2254 威望:0 精华:0 注册:2011/8/16 10:11:00
  发帖心情 Post By:2017/4/15 17:05:00 [只看该作者]

您好,我想把旁边的数值显示去掉,我就屏蔽了Series.Text = c & "(" & r(c) & ")" 这段代码,但是会出现其他内容

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


还有就是显示的数值请问下如何转化为百分比显示,而不是显示具体数值

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/15 17:07:00 [只看该作者]

 这两句删除

 

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


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


加好友 发短信
等级:童狐 帖子:285 积分:2254 威望:0 精华:0 注册:2011/8/16 10:11:00
  发帖心情 Post By:2017/4/15 17:10:00 [只看该作者]

原来如此
请问下如何转化为百分比显示,而不是显示具体数值

括号里显示百分比,如(90%)

此主题相关图片如下:qq截图20170415171047.jpg
按此在新窗口浏览图片

[此贴子已经被作者于2017/4/15 17:11:49编辑过]

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