Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:如何根据各列数据生成饼形图?

1楼
liuruihua 发表于:2011/7/16 21:54:00
用户已锁定!
2楼
狐狸爸爸 发表于:2011/7/17 7:31:00
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("统计表1") '定义一个变量t引用数据表
Chart= Forms("窗口1").Controls("Chart1") ' 引用窗口中的图表
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)

 
Dim nms() as string = {"饲料费用","物耗费用","种苗费用","其它支出","工资费用"}
for each nm  as string in nms
   Series = Chart.SeriesList.Add() '增加一个图系
   Series.Length = 1 '一个系列只能包括一个值
   Series.Text = nm
   Series.Y(0) = Tables("xxx").Current(nm)
next
 
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)
3楼
易服 发表于:2011/7/17 14:56:00


此主题相关图片如下:2011-7-16 10-41-34.png
按此在新窗口浏览图片

Dim g As New GroupTableBuilder("分组统计", DataTables("总览"))
g.Groups.AddDef("乡名")
g.Totals.AddDef("退耕地")

g.Totals.AddDef("平坡退耕","平坡")
g.Totals.AddDef("退耕斜坡","缓坡")
g.Totals.AddDef("斜坡退耕","斜坡")

g.Totals.AddDef("陡坡退耕","陡坡")
g.Build()

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("分组统计") '定义一个变量t引用数据表
Chart= Forms("构成分析").Controls("Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)

Dim nms() As String = {"平坡","缓坡","斜坡","陡坡"}
For Each nm  As String In nms
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    Series.Text = nm
    Series.Y(0) = Tables("分组统计").Current(nm)
    Series.DataLabelText = "{#YVAL}" & "亩" 

    Series.DataLabelForeColor = Color.Red

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

 

希望显示:253.6亩占32.51%

4楼
易服 发表于:2011/7/17 17:06:00

根据各列数据生成饼形图(3楼)不知怎么变通成下面效果

Series.DataLabelText =" {#YVAL}" & "亩" & "占" &  Math.Round(r("设计面积")*100/sm,2) & "%"


图片点击可在新窗口打开查看此主题相关图片如下:2011-7-17 16-58-10.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2011-7-17 17:09:56编辑过]
5楼
狐狸爸爸 发表于:2011/7/17 17:12:00

这里不是有现成的例子吗:

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=11274

 

6楼
hhbb 发表于:2011/7/17 17:44:00
.......
  Series.Text = nm
    Dim r As Row = Tables("分组统计").Current
    Dim sm As Double=r("平坡")+r("缓坡")+r("斜坡")+r("陡坡")
    Series.Y(0) = r(nm)
    Series.DataLabelText =" {#YVAL}" & "亩 占" &  Math.Round(r(nm)*100/sm,2) & "%"
..........

7楼
易服 发表于:2011/7/18 15:14:00
以下是引用hhbb在2011-7-17 17:44:00的发言:
.......
  Series.Text = nm
    Dim r As Row = Tables("分组统计").Current
    Dim sm As Double=r("平坡")+r("缓坡")+r("斜坡")+r("陡坡")
    Series.Y(0) = r(nm)
    Series.DataLabelText =" {#YVAL}" & "亩 占" &  Math.Round(r(nm)*100/sm,2) & "%"
..........

谢谢!成功了

.........

 Series.Text = nm
    Dim r As Row = Tables("分组统计").Current
    Dim sm As Double=r("平坡")+r("缓坡")+r("斜坡")+r("陡坡")
    Series.Y(0) = r(nm)
    Series.DataLabelText =" {#YVAL}" & "亩 占" &  Math.Round(r(nm)*100/sm,2) & "%"
    Series.DataLabelForeColor = Color.Red 'White '白字
    Chart.HeaderText="" & cmb.Value & "退耕地坡度级分布"
...........

共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.