以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]Histogram图表空值出错 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=42886) |
||||
-- 作者:worldespier -- 发布时间:2013/11/25 10:49:00 -- [求助]Histogram图表空值出错 我用代码生成图表时,当数据列中有空单元格时,就不会生成Histogram图表,请问这如何是好?没有相关的属性可以设置来避免这个问题吗? |
||||
-- 作者:Bin -- 发布时间:2013/11/25 10:51:00 -- 不要使用绑定的方式,使用循环赋值的方式,这样就可以自由做判断了. 实在不会就上个例子吧. |
||||
-- 作者:worldespier -- 发布时间:2013/11/25 18:22:00 -- 实在不会,上传个例子,劳驾帮助解决一下 谢谢!
|
||||
-- 作者:有点甜 -- 发布时间:2013/11/25 19:15:00 -- 简单的做法,取巧一下 DataTables("表A").ReplaceFor("数据", 0, "数据 is null") Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Chart= Forms("图表").Controls("Chart1") \' 引用窗口中的图表 Chart.ChartType = ChartTypeEnum.Histogram \' 设置图表类型 Chart.DataSource = "表A" \'设置绑定表 Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Histogram.IntervalStart = 0 \'指定起始值 Series.Histogram.IntervalWidth = 10 \'指定分区宽度 Series.Histogram.IntervalNumber= 10 \'指定分区个数 Series.Y.DataField = "数据" \'Y轴绑定到数量列 |
||||
-- 作者:worldespier -- 发布时间:2013/11/26 13:28:00 -- 问题 谢谢您的帮助。但是有个问题,空值和0是不同的概念,我不希望空值替换为0,也不希望0替换为空值,请问还有什么解决办法? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/11/26 14:21:00 -- 那就不要绑定,自己编码,跳过空值的点,例如:
Dim Chart As WinForm.Chart \'定义一个图表变量
要么用0替代空值,要么忽略空值,除此之外,没有两全的方法
[此贴子已经被作者于2013-11-26 14:22:15编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2013/11/26 22:27:00 -- 你试试这样是否满足。 Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.SeriesList.Clear() \'清除图表原来的图系 Chart.ChartType = ChartTypeEnum.Bar \' 设置图表类型 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = 110 \'设置图系的长度 For i As Integer = 0 To 100 Step 10 \'指定每个数据点的位置 Series.X(i) = i \'指定水平坐标 Series.Y(i) = DataTables("表A").Compute("count(_identify)", "数据 >= " & i-10 & " And 数据 < " & i) Chart.AxisX.SetValueLabel(i, i) \'指定字符表示 Next Chart.AxisX.AnnoWithLabels = True \'启用字符标示 |
||||
-- 作者:worldespier -- 发布时间:2013/11/28 14:04:00 -- 谢谢 非常感谢您的帮助!我需要的图表类型是Histogram,显得麻烦一些。我用了另一种方法:建立一个临时表,将非空数据复制到临时表中,再生成图表。这样做只是延迟了零点几秒。但是在原来的基础上修改程序简单多了。
再次感谢你的帮助! |