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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值