以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于作图,请教下如何做一行记录的图表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99253)

--  作者:yangjing
--  发布时间:2017/4/15 15:14:00
--  关于作图,请教下如何做一行记录的图表
看了狐表的帮助文档,作图的时候是以列来做做统计图表,请问下能以行,也就是一条记录来做图表吗?

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

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

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

--  作者:yangjing
--  发布时间: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
图片点击可在新窗口打开查看

--  作者:有点色
--  发布时间: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
--  发布时间:2017/4/15 16:11:00
--  
你好,我只需要用“碳水化合物,脂肪,蛋白质”做图,请问如何处理,现在是全部一条都显示出来了


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

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

--  作者:有点色
--  发布时间: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
--  发布时间:2017/4/15 16:40:00
--  
你好好,请问如何把右边的条目信息在饼图上直接显示,而不是在右边单独出现呢?谢谢
图片点击可在新窗口打开查看此主题相关图片如下:333.jpg
图片点击可在新窗口打开查看

--  作者:有点色
--  发布时间:2017/4/15 16:46:00
--  

加上代码

 

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


--  作者:yangjing
--  发布时间:2017/4/15 17:05:00
--  
您好,我想把旁边的数值显示去掉,我就屏蔽了Series.Text = c & "(" & r(c) & ")" 这段代码,但是会出现其他内容

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


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

--  作者:有点色
--  发布时间:2017/4/15 17:07:00
--  

 这两句删除

 

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


--  作者:yangjing
--  发布时间:2017/4/15 17:10:00
--  
原来如此
请问下如何转化为百分比显示,而不是显示具体数值

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

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

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