以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于饼状图显示问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=174320)

--  作者:xuxingbo
--  发布时间:2022/1/11 9:08:00
--  [求助]关于饼状图显示问题
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("数据统计表") \'定义一个变量t引用数据表
Dim sm As Integer = t.Compute("Sum(故障数)") \'计算总数量
Chart= Forms("作业信息平台").Controls("Chart1") \' 引用窗口中的图表
Chart.SeriesList.Clear() \'清除图表原来的图系
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("故障数") \'指定值
    Series.DataLabelText = Math.Round(r("故障数")*100/sm,2) & "%" \'计算百分比
    Series.TooltipText = " 故障数 = {#YVAL}"
Next
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.East \'图列显示在东方(右方)

Dim a As C1Chart.C1Chart = e.Form.Controls("Chart1").BaseControl
Dim b As C1Chart.ChartGroup = a.ChartGroups.Group0
\'b.Use3D = True
a.ChartArea.Inverted = False   
a.ChartArea.PlotArea.View3D.Depth = 20  \'深度  
a.ChartArea.PlotArea.View3D.Elevation = 20  \'高度
a.ChartArea.PlotArea.View3D.Rotation = 8   \'周长
a.ChartArea.PlotArea.View3D.Shading = 2   \'阴影
b.Bar.Appearance = 0
b.Bar.MultiRow = True
b.Use3D = True
b.Stacked = False



1.以上是我生成饼状图的代码,如何让这个饼状图在鼠标移到哪一块的时候那块自动分裂出去,做个动态显示
2.数据统计表对应的列有一些空白内容,在显示图表的时候会出现好多空白的标题,如何不显示这些标题
[此贴子已经被作者于2022/1/11 9:10:43编辑过]

--  作者:有点蓝
--  发布时间:2022/1/11 9:38:00
--  
1、现在没有互动功能,等新的图表功能了
2、筛选掉空的数据

Dim t As Table = Tables("数据统计表")
t.filter = "xx列 is not null"