解决无法按y轴显示的问题!

类别:Delphi 点击:0 评论:0 推荐:

如果用dbchart,
假设数据库如下:
a b
1 2
2 2
3 3
4 2
a作为x轴,y作为y轴,显示图形如下
4
3         x
          /   \
2  x--x     x
1
   1   2  3  4
我想显示成如下图形(a作为y轴,b作为x轴)
4    x
         \
3         x
         /
2    x
       |
1    x
  1  2  3  4
可是如果单纯用a作为y轴,b作为x轴,显示的结果为
4    x
      |  \
3    |   x
      |
2    x
      |
1    x
  1  2  3  4

我个人认为dbchart的line在实现的时候必须以x来确定y,所以无法实现以y确定x,解决方法,

将纪录逐条串位,比如原来是

a b
1 2
2 2
3 3
4 2
处理后为

a b 终点坐标x  终点坐标y 
1 2     2                  2
2 2     3                  3
3 3     4                  2
4 2     4                  2

注意:adoquery1中  select * form 表名 order by  x  desc

var firx,firy:double;
begin
    with adoquery1 do
    begin
        first;
        firx:=fieldbyname(x).AsFloat ;
        firy:=fieldbyname(y).AsFloat;
        edit;
        fieldbyname('终点坐标x').Asfloat:=firx;
        fieldbyname('终点坐标y').AsFloat:=firy;
        post; next;
        while not eof do
        begin

            edit;
            fieldbyname('终点坐标x').Asfloat:=firx;
            fieldbyname('终点坐标y').AsFloat:=firy;
            post;
            firx:=fieldbyname(edit1.text).AsFloat;
            firy:=fieldbyname(edit2.text).AsFloat;
            next;
        end;
    end;
end;

然后使用dbchart中的series arrow来显示即可

本文地址:http://com.8s8s.com/it/it4188.htm