以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  新的问题。chart  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=152709)

--  作者:125803629
--  发布时间:2020/7/19 23:13:00
--  新的问题。chart
今天做图表,发现了一个问题。数据空的内容。它报错。又郁闷了,统计里没有数据的时候,都是“0”,满屏的0,太难看,全部清0了。现在图表又需要0.
这真是有点麻烦。
现在,我想保留
Series.X(i) = i 的内容。
Series.y(i) = i 的内容,遇到空值显示为‘0’。
该怎么办?

--  作者:有点蓝
--  发布时间:2020/7/20 8:30:00
--  
贴出完整代码,或者上传实例说明


--  作者:125803629
--  发布时间:2020/7/20 9:16:00
--  
窗口中有个控件、一个按钮,按钮click里代码:
//Dim Chart As WinForm.Chart \'定义一个图表变量
//Dim Series As WinForm.ChartSeries \'定义一个图系变量
//Dim tbl As DataTable = DataTables("规模养殖场信息表") \'定义一个变量tbl引用数据表
//Dim lst As List(Of String) = tbl.GetValues("乡镇名称") \'获得产品名称集合
//Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
//Chart.SeriesList.Clear() \'清除图表原来的图系
//Series = Chart.SeriesList.Add() \'增加一个图系
//Series.Length = lst.Count \'设置图系的长度
//For i As Integer = 0 To lst.Count - 1 \'指定每个数据点的位置
//    Series.X(i) = i \'指定水平坐标
//    Series.Y(i) = tbl.Compute("Sum(牛_存栏合计)","[乡镇名称] = \'" & lst(i) & "\'") \'指定垂直坐标
//    Chart.AxisX.SetValueLabel(i, lst(i)) \'指定字符表示
//next
//Chart.AxisX.AnnoWithLabels = True \'启用字符标示

--  作者:125803629
--  发布时间:2020/7/20 9:17:00
--  
单击后:出现//Object reference not set to an instance of an object.
--  作者:125803629
--  发布时间:2020/7/20 9:20:00
--  
查看表中有空值。
需要保留 x轴的内容。
y轴遇到空值补为“0”。
图表完整表现。
现在报错后,图表内容不显示。

--  作者:有点蓝
--  发布时间:2020/7/20 9:26:00
--  
//For i As Integer = 0 To lst.Count - 1 \'指定每个数据点的位置
//    Series.X(i) = i \'指定水平坐标
dim sum as double = tbl.Compute("Sum(牛_存栏合计)","[乡镇名称] = \'" & lst(i) & "\'")
//    Series.Y(i) =  sum  \'指定垂直坐标
//    Chart.AxisX.SetValueLabel(i, lst(i)) \'指定字符表示
//next

--  作者:125803629
--  发布时间:2020/7/20 9:34:00
--  
谢谢,辛苦
--  作者:125803629
--  发布时间:2020/7/20 9:37:00
--  
数据不是整数吗?为什么定义成双精度小数,我的列里设置的也是整数啊。
--  作者:有点蓝
--  发布时间:2020/7/20 9:40:00
--  
我又看不到您数据,怎么知道是神马数,自己改为合适的值呗