当前位置:主页>Delphi教程>文章内容
解决无法按y轴显示的问题!
来源: 作者: 发布时间:2007-04-29  
 

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


 
上一篇:在Delphi中通过函数获取GUID   下一篇:C\S结构中成批保存CLIENTDATASET中的数据
 
  相关文章
·在Delphi中通过函数获取GUID
·C\S结构中成批保存CLIENTDATASET中的数
·Oracle中通过存储过程中返回数据集及在
·角点检测算子的代码描述
·DBGrid单元格画圆圈
·让窗体在执行了“显示桌面”以后仍旧显
·将多个jpg文件以追加形式合并成一个文
·扫雷外挂的设计与实现(五)
·模拟delphi编辑窗体操作控件。。。
·PowerBuilder调用Delphi写的Dll时发生
·扫雷外挂的设计与实现(四)
·Delphi下的接口编程学习笔记(原创)
 
【关闭窗口】
推荐本站资源
最新文章