以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 饼图占比计算 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=79482) |
-- 作者:lgj716330 -- 发布时间:2016/1/2 20:11:00 -- 饼图占比计算 Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Dim t As Table = Tables("利润表附表") \'定义一个变量t引用数据表 Dim sm As Double = t.Compute("Sum(dic(主营业务收入))") Chart= Forms("终端状态占比分析").Controls("占比1") \' 引用窗口中的图表 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(dic("主营业务收入")) & ")" \'设置图系的标题 Series.Y(0) = r(dic("主营业务收入")) \'指定值 Series.DataLabelText = Math.Round(r(dic("主营业务收入"))*100/sm,2) & "%" \'计算百分比 Next Chart.LegendVisible = True \'显示图列 Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮 Chart.LegendCompass= CompassEnum.East \'图列显示在东方(右方) 貌似标颜色的这句代码计算不出来
|
-- 作者:lgj716330 -- 发布时间:2016/1/2 21:43:00 -- 找到原因了 Dim sm As Double = t.Compute("Sum(" & dic("主营业务收入") & ")")
|
-- 作者:lgj716330 -- 发布时间:2016/1/7 10:56:00 -- 用一个按钮可以同时生成两个图表吗,如下代码 Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Dim t As Table = Tables("利润表附表") \'定义一个变量t引用数据表 Dim sm As Double = t.Compute("Sum(" & dic("主营业务收入") & ")") Chart= Forms("终端状态占比分析").Controls("占比1") \' 引用窗口中的图表 Chart.SeriesList.Clear() \'清除图表原来的图系 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(dic("主营业务收入")) & ")" \'设置图系的标题 Series.Y(0) = r(dic("主营业务收入")) \'指定值 Series.DataLabelText = Math.Round(r(dic("主营业务收入"))*100/sm,2) & "%" \'计算百分比 Next Chart.LegendVisible = True \'显示图列 Chart.TopMost = True \'不同图表间切换 Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮 Chart.LegendCompass= CompassEnum.South \'图列显示在东方(右方) Dim Chart1 As WinForm.Chart \'定义一个图表变量 Dim Series1 As WinForm.ChartSeries \'定义一个图系变量 Dim t1 As Table = Tables("利润表附表") \'定义一个变量t引用数据表 Dim sm1 As Double = t1.Compute("Sum(营业费用)") Chart1= Forms("终端状态占比分析").Controls("占比2") \' 引用窗口中的图表 Chart1.SeriesList.Clear() \'清除图表原来的图系 Chart1.ChartType = ChartTypeEnum.Pie \'图表1类型改为Bar(条形) For Each r As Row In t1.Rows Series1 = Chart.SeriesList.Add() \'增加一个图系 Series1.Length = 1 \'一个系列只能包括一个值 Series1.Text = r("店铺状态") & "(" & r("营业费用") & ")" \'设置图系的标题 Series1.Y(0) = r("营业费用") \'指定值 Series1.DataLabelText = Math.Round(r("营业费用")*100/sm1,2) & "%" \'计算百分比 Next Chart1.LegendVisible = True \'显示图列 Chart1.TopMost = True \'不同图表间切换 Chart1.VisualEffect = True \'加上这一行,让你的图表更漂亮 Chart1.LegendCompass= CompassEnum.South \'图列显示在东方(右方) 我把上面这两段代码编在同一个按钮里,结果只生成一个图表
[此贴子已经被作者于2016/1/7 11:02:10编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/1/7 11:13:00 -- 1、单独测试是否可以;
2、单独可以,放在一起肯定可以。 |
-- 作者:lgj716330 -- 发布时间:2016/1/7 13:16:00 -- 嗯,找出错误地方了,有个地方变量没改过来,粗心了 |