在窗口中添加一个柱形图,根据颜色来统计数量,现在想把统计红色数量的柱,变成红色,绿色数量的柱子颜色变为绿色,该如何设置?谢谢.
Series不是凭空生成的,要用Add方法增加的
For i As integer = 0 to 7 '指定每个数据点的位置
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = 8 '新增图系包括10个数据点
.....
Next
[此贴子已经被作者于2009-8-27 20:05:28编辑过]
把代码更改了下,麻烦看下这样的代码哪里有问题,老是出错 “未将对象引用设置到对象的实例”
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim tbl As DataTable = DataTables("订单管理") '定义一个变量tbl引用数据表
Dim lst As List(Of String)
lst.add("红")' tbl.GetUniqueValues("", "产品") '获得产品名称集合
lst.add("黑")
lst.add("白")
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(重量)","[产品] like '"*lst(i)*"' ") '指定垂直坐标
Chart.AxisX.SetValueLabel(i, lst(i)) '指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
同一个图系的颜色是相同的,不能单独指定图系某个点的颜色.
你只有一个图系,自然下面的代码要出错,因为图系1到7是不存在的,只有图系0
解决办法:
除非你增加8个图系,每个图系一个点
哦 明白了,我呆会再看下图系的颜色问题,
下午看了帮助,发觉我原来的代码有问题,就参考帮助里的代码,但是老出问题,狐爸帮我看下,是什么问题
Dim lst As List(Of String)
lst.add("红")
lst.add("黑")
lst.add("白")
应该改为:
Dim lst As
New List(Of String)
lst.add("红")
lst.add("黑")
lst.add("白")
其他自己研究
[此贴子已经被作者于2009-8-27 21:59:03编辑过]
For n As integer = 0 To 7
Series = Chart.SeriesList.Add()
Series.Length = 10
For i As integer = 0 to lst.Count - 1
Series.X(n) = n
Series.Y(n) = tbl.Compute("Sum(重量)","[颜色] like '*" &lst(n)& "*'")
Next
next
Chart.SeriesList(0).FillColor= Color.Red
Chart.SeriesList(1).FillColor= Color.yellow
....
狐爸 帮我看下该怎么设置好,参数改了很多次,没有眉目啊,帮助里还找不到