WEB开发网
开发学院软件开发Delphi 解决无法按y轴显示的问题! 阅读

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

 2006-02-04 14:11:10 来源:WEB开发网   
核心提示: 如果用dbchart,假设数据库如下:a b1 22 23 34 2a作为x轴,y作为y轴,解决无法按y轴显示的问题!,显示图形如下43 x / \2 x--x x1 1 2 3 4我想显示成如下图形(a作为y轴,b作为x轴)4 x \3 x / 2 x |1 x 1 23 4可是如果单
 

如果用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来显示即可

Tags:解决 无法 显示

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接