以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]求助关于条形图和饼图数据显示问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=105335)

--  作者:武游天下
--  发布时间:2017/8/17 10:24:00
--  [求助]求助关于条形图和饼图数据显示问题
求助狐爸,1、怎么让数据在条形图上居中上方显示  2、怎么在饼图上显示对应比例  3、怎么实现在同一窗口上条形图和饼图相互切换   4、为什么连续单击圆饼图按钮会重复生成,怎么改。谢谢狐爸。
图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20170817101433.png
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20170817102333.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2017/8/17 10:31:00
--  

1、设置 http://www.foxtable.com/webhelp/scr/1056.htm

 

2、http://www.foxtable.com/webhelp/scr/0972.htm

 

3、方法一:用两个chart,隐藏一个,显示一个。方法二:彻底清除chart里面的内容,如


chart.SeriesList.Clear
chart.AxisX.ClearValueLabel
chart.AxisY.ClearValueLabel

 

4、加上代码 chart.SeriesList.Clear

 


--  作者:武游天下
--  发布时间:2017/8/17 15:52:00
--  
老师,由条形图转换圆饼图没问题,但从圆饼图转为条形图就出现这样了。
---圆饼图单击事件-----

Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("年龄区间统计表") \'定义一个变量t引用数据表
Dim sm As Integer = t.Compute("Sum(人数)") \'计算总数量
Chart= Forms("年龄统计").Controls("Chart1") \' 引用窗口中的图表
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie \'图表1类型改为Bar(条形)
Chart.SeriesList.Clear
Chart.AxisX.ClearValueLabel
Chart.AxisY.ClearValueLabel
For Each r As Row In t.Rows
    Series = Chart.SeriesList.Add() \'增加一个图系
    Series.Length = 1 \'一个系列只能包括一个值
    Series.Text = r("年龄区间") & "(" & r("人数") & ")" \'设置图系的标题
    Series.Y(0) = r("人数") \'指定值
    Series.DataLabelText = Math.Round(r("人数")*100/sm,2) & "%" \'计算百分比
Next
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.East \'图列显示在东方(右方)
Chart.HeaderText="年龄结构统计图"


-----条形图单击事件--------
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar \'设置图表类型
Chart.SeriesList.Clear
Chart.DataSource = "年龄区间统计表" \'设置绑定表
Series = Chart.SeriesList.Add() \'增加一个图系
Series.X.DataField = "年龄区间" \'X轴绑定到产品列
Series.Y.DataField = "人数" \'Y轴绑定到数量列
Chart.AxisX.AnnoRotation = - 45 \'X轴标示逆时针旋转45度
Series.DataLabelText = "{#YVAL}"  \'显示Y轴数据

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20170817155055.png
图片点击可在新窗口打开查看
Chart.AxisY.Text = "              人数(人)"
Chart.AxisX.Text = "                                              年龄(岁)"
Chart.HeaderText="年龄结构统计图"


--  作者:有点甜
--  发布时间:2017/8/17 16:13:00
--  

Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar \'设置图表类型
Chart.SeriesList.Clear
Chart.AxisX.ClearValueLabel
Chart.AxisY.ClearValueLabel
Chart.DataSource = "年龄区间统计表" \'设置绑定表
Series = Chart.SeriesList.Add() \'增加一个图系
Series.Text = "年龄" \'设置图系的标题
Series.X.DataField = "年龄区间" \'X轴绑定到产品列
Series.Y.DataField = "人数" \'Y轴绑定到数量列
Chart.AxisX.AnnoRotation = - 45 \'X轴标示逆时针旋转45度
Series.DataLabelText = "{#YVAL}"  \'显示Y轴数据
series.DataLabelCompass = LabelCompassEnum.North

Chart.AxisY.Text = "              人数(人)"
Chart.AxisX.Text = "                                              年龄(岁)"
Chart.HeaderText="年龄结构统计图"
Chart.LegendVisible = False \'显示图列


--  作者:武游天下
--  发布时间:2017/8/17 17:12:00
--  
大神啊,谢谢