以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  柱形图表按条件显示不同颜色的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66162)

--  作者:cjl333333333
--  发布时间:2015/3/31 13:50:00
--  柱形图表按条件显示不同颜色的问题

Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim tbl As DataTable = DataTables("员工绩效") \'定义一个变量tbl引用数据表
Dim TB2 As Table =Tables("绩效对比_绩效对比")
Dim lst As List(Of String) = tbl.GetValues("姓名") \'获得产品名称集合
Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar \'设置图表类型
Chart.SeriesList.Clear() \'清除图表原来的图系
Series = Chart.SeriesList.Add() \'增加一个图系
Series.Length = lst.Count \'设置图系的长度
For i As Integer = 0 To lst.Count - 1 \'指定每个数据点的位置
    Dim AAA As Double = tbl.Compute("Sum(绩效分数)","[姓名] = \'" & lst(i) & "\'AND 日期 >= \'" & DT1 & "\'AND 日期 <= \'" & DT2 & "\'") \'指定垂直
    Series.X(i) = i \'指定水平坐标
    Series.Y(i) = aaA \'tbl.Compute("Sum(绩效分数)","[姓名] = \'" & lst(i) & "\'AND 日期 >= \'" & DT1 & "\'AND 日期 <= \'" & DT2 & "\'") \'指定垂直坐标
    Chart.AxisX.SetValueLabel(i, lst(i)) \'指定字符表示
    Series.FillColor = Color.SpringGreen \'设置条形图的填充颜色
Next
For Each r As Row In tB2.Rows
    If R("绩效分数")=1 Then \'绩效分数=1显示为绿色
        Series.FillColor = Color.SpringGreen \'设置条形图的填充颜色
    End If
Next

Chart.AxisX.AnnoWithLabels = True \'启用字符标示

该代码不会执行条件产生的结果,问为何?请高手指点。


--  作者:Bin
--  发布时间:2015/3/31 13:56:00
--  
饼状图才能分色  http://www.foxtable.com/help/topics/0972.htm
--  作者:有点甜
--  发布时间:2015/3/31 14:07:00
--  

 呃,你控制颜色的地方在在这里 Series.FillColor = Color.SpringGreen \'设置条形图的填充颜色

 

 一个图系,也即是一个Series,只能是一种颜色的。


--  作者:cjl333333333
--  发布时间:2015/3/31 14:13:00
--  

那好可惜,我的系统里有很多须要用柱形图,而且希望能分颜色,或是在某一数据下用不同颜色。


--  作者:有点甜
--  发布时间:2015/3/31 14:17:00
--  
以下是引用cjl333333333在2015/3/31 14:13:00的发言:

那好可惜,我的系统里有很多须要用柱形图,而且希望能分颜色,或是在某一数据下用不同颜色。

 

没办法,一个图系,一种颜色。