如果用dbchart,
假設(shè)數(shù)據(jù)庫(kù)如下:
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軸,顯示的結(jié)果為
4    x
      |  /
3    |   x
      | 
2    x
      |
1    x 
  1  2  3  4
我個(gè)人認(rèn)為dbchart的line在實(shí)現(xiàn)的時(shí)候必須以x來(lái)確定y,所以無(wú)法實(shí)現(xiàn)以y確定x,解決方法,
將紀(jì)錄逐條串位,比如原來(lái)是
a b
1 2
2 2
3 3
4 2
處理后為
a b 終點(diǎn)坐標(biāo)x  終點(diǎn)坐標(biāo)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('終點(diǎn)坐標(biāo)x').Asfloat:=firx;
        fieldbyname('終點(diǎn)坐標(biāo)y').AsFloat:=firy;
        post; next;
        while not eof do
        begin
            edit;
            fieldbyname('終點(diǎn)坐標(biāo)x').Asfloat:=firx;
            fieldbyname('終點(diǎn)坐標(biāo)y').AsFloat:=firy;
            post;
            firx:=fieldbyname(edit1.text).AsFloat;
            firy:=fieldbyname(edit2.text).AsFloat;
            next;
        end;
    end;
end;
然后使用dbchart中的series arrow來(lái)顯示即可
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注