以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  图表的百分比数量与图例不一致  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=159563)

--  作者:happyft
--  发布时间:2020/12/30 15:49:00
--  图表的百分比数量与图例不一致

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

代码如下:
Dim Chart2 As WinForm.Chart \'定义一个图表变量
Dim Series2 As WinForm.ChartSeries \'定义一个图系变量
Chart2 = e.Form.Controls("Chart2") \' 引用窗口中的图表
Chart2.SeriesList.Clear() \'清除图表原来的图系
Chart2.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart2.ChartType = ChartTypeEnum.Pie \'图表1类型改为Bar(条形)
Dim total As Double = DataTables(tbl.name).Compute("Sum(金额)")  \'计算总金额
For Each s1 As String In DataTables(tbl.name).GetValues(s)
    Series2 = Chart2.SeriesList.Add() \'每年一个图系
    Dim sum As Double = DataTables(tbl.name).Compute("Sum(金额)",s & " = \'" & s1 & "\'")
    Series2.Length = 1  \'一个系列只能包括一个值
    Series2.Text = s1   & "(" & sum & ")" \'设置图系的标题
    Series2.Y(0) = sum \'指定扇形值
    Series2.DataLabelText = Math.Round(sum *100/Total,2) & "%" \'计算百分比
Next
Chart2.LegendVisible = True  \'显示图例
Chart2.LegendCompass= CompassEnum.East \'图列显示位置(底端)

上面的代码执行后生成的图表如上所示,但为何右边是七个力例,但左边只显示5个百分比?
谢谢!


--  作者:cd_tdh
--  发布时间:2020/12/30 15:56:00
--  
太小了没显示把,你把图标弄大点看看呢?