我已经查询出数据
如下
横坐标 1 2 3 4 5 6 7 8
纵坐标 好 中 差 好 好 好 差 差
我希望能用一行不同颜色的矩形显示出来,比如好显示绿色矩形,中显示黄色矩形,差显示红色矩形.
请问大家用TChart怎么实现啊?
如下图:
http://p.blog.csdn.net/images/p_blog_csdn_net/wfeng107/402134/o_123.bmp

解决方案 »

  1.   

    楼主的那种图,好像用Tchart画不出来吧
    var data_sum:array[1..4] of integer;
        tmp:tadoquery;
        i:integer;
    begin
      chart.Series[0].Clear;
      tmp:=tadoquery.Create(nil);
      tmp.ConnectionString:=dm.adocnmain.ConnectionString;  for i:=1 to 4 do
        data_sum[i]:=0;  with tmp do
      begin  
        sql.clear;
        sql.add('SELECT * FROM Emp');
        open;
      end;  tmp.First;
      while not tmp.Eof do
      begin
        with tmp do
        begin
          if FieldByName('Bg').AsString='党员' then
            data_sum[1]:=data_sum[1]+1;
          if FieldByName('Bg').AsString='团员' then
            data_sum[2]:=data_sum[2]+1;
          if FieldByName('Bg').AsString='民主人士' then
            data_sum[3]:=data_sum[3]+1;
          if FieldByName('Bg').AsString='其他' then
            data_sum[4]:=data_sum[4]+1;
        end;
        tmp.Next;
      end;
      tmp.Close;
      tmp.Free;  with chart.Series[0] do begin
        chart.Series[0].Add(data_sum[1],'党员',clteecolor);
        chart.Series[0].Add(data_sum[2],'团员',clblue);
        chart.Series[0].Add(data_sum[3],'民主人士',clyellow);
        chart.Series[0].Add(data_sum[4],'其他',clCream);
      end;这个符合你的要求吧
      

  2.   

    那就在chart里添加一个bar就可以解决LZ的问题了啊