以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  图表问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=13737)

--  作者:7032175
--  发布时间:2011/10/25 14:46:00
--  图表问题

万能的狐狸爸爸  我现在开始研究图表了,但是我在研究的过程中始终搞不定如下问题请狐狸爸爸看一下

 

x 值  代表着“材质”

y 值  代表着“裂纹、旧角、尺差。。。。。。。。。”

我想要得到的效果如图:

 

如何写上代码  请狐狸爸爸帮我看一下   


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20111025143729.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.table


--  作者:狐狸爸爸
--  发布时间:2011/10/25 15:02:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目162.rar


--  作者:7032175
--  发布时间:2011/10/25 16:12:00
--  
我自已开发个窗口  同时加进去了一个筛选功能   我想当我筛选出来的结果   我一点图表按钮   就会得到筛选出来的图表表示样子  而不是全表的图表表示样子  能实现吗
--  作者:狐狸爸爸
--  发布时间:2011/10/25 16:15:00
--  
当然可以啊,统计不是可以设置条件的吗?
--  作者:7032175
--  发布时间:2011/10/25 16:34:00
--  
狐狸爸爸 我的意思是这样子 的   我在窗口里  筛选出来我想要的结果     而后单击图表按钮  图表里显示的是我筛选出来的内容
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:7032175
--  发布时间:2011/10/26 8:18:00
--  

狐狸爸爸  请帮我看一下我的文件


--  作者:7032175
--  发布时间:2011/10/26 9:04:00
--  

狐狸爸爸  我想在这个表里面 体现一个问题    就是在图表里增加一条第二线型图表(这个图表里面有二个图表表达方式一个是累积型的一个是线型的)

   线型的图表代表着 单个材质裂纹总合除以所有材质的裂纹总合,旧角也是一样单个材质的旧角总合除以所有材质的旧角总合。(这个需要在图表里面加上公式我不会)


--  作者:7032175
--  发布时间:2011/10/26 9:06:00
--  

这个文件是7楼提出问题的文件

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:狐狸爸爸
--  发布时间:2011/10/26 10:10:00
--  

加粗的一行,解决筛选问题。

 

 

Dim Chart As WinForm.Chart = e.Form.Controls("Chart1")
Dim dt As DataTable
Dim g As New GroupTableBuilder("统计表1", DataTables("下单"))
g.Groups.AddDef("材质")
g.Totals.AddDef("裂纹", AggregateEnum.Count)
g.Totals.AddDef("旧角",AggregateEnum.Count)
g.Totals.AddDef("起层",AggregateEnum.Count)
g.Totals.AddDef("不严",AggregateEnum.Count)
g.Totals.AddDef("尺差",AggregateEnum.Count)
g.Totals.AddDef("偏稍",AggregateEnum.Count)
g.Totals.AddDef("粘板",AggregateEnum.Count)
g.Totals.AddDef("其它",AggregateEnum.Count)
g.Filter = Tables("下单").Filter
dt = g.Build(True)

Chart.VisualEffect = True
Chart.SeriesList.Clear() \'清除图表原来的图系
Chart.ChartType = ChartTypeEnum.Bar \'设置图表类型
Chart.Stacked = True
Chart.SeriesList2.Clear() \'清除图表原来的图系
Dim nms() As String = {"裂纹","旧角","起层","不严","尺差","偏稍","粘板","其它"}
Dim vls(7) As Double
Dim Series As WinForm.ChartSeries \'定义一个图系变量
For n As Integer = 0 To 7
    Series = Chart.SeriesList.Add() \'增加一个图系
    Series.Length = dt.DataRows.Count \'图系的数据点数等于表的行数
    Series.Text = nms(n)
    For i As Integer = 0 To dt.DataRows.Count - 1 \'指定每个数据点的位置
        Series.X(i) = i \'指定水平坐标
        Series.Y(i) = dt.DataRows(i)(nms(n)) \'指定垂直坐标
        vls(n) = vls(n) + dt.DataRows(i)(nms(n))
    Next
Next
For n As Integer = 0 To 7
    Series = Chart.SeriesList2.Add() \'增加一个图系
    Series.Length = dt.DataRows.Count \'图系的数据点数等于表的行数
    Series.Text = nms(n)
    For i As Integer = 0 To dt.DataRows.Count - 1 \'指定每个数据点的位置
        Series.X(i) = i \'指定水平坐标
        Series.Y(i) = dt.DataRows(i)(nms(n)) / vls(n)
    Next
Next
For r As Integer = 0 To dt.dataRows.Count - 1
    Chart.AxisX.SetValueLabel(r, dt.dataRows(r)("材质")) \'指定字符表示
Next

[此贴子已经被作者于2011-10-26 10:10:13编辑过]

--  作者:7032175
--  发布时间:2011/10/26 10:48:00
--  

狐狸爸爸  这个表是代码是对 首先是我提出来的问题让你很头疼  是因为我说错了  真是不好意思     

 

 

我想更改的是   每个材质的裂纹、旧角等等 相加起来除以所有材质的废品总量    这样就能用一条线表来体现   还请狐狸爸爸帮我一下真是不好意思