TChart 上的排序與反排序問題 |
答題得分者是:pedro
|
KFC123_60201
一般會員 ![]() ![]() 發表:58 回覆:18 積分:15 註冊:2006-07-25 發送簡訊給我 |
對於TChart,在通過向series加入數據後,經過下面幾行代碼可以對Y值進行排序
[code delphi] Self.MyChart.Series[0].YValues.Order := loDescending; Self.MyChart.Series[0].YValues.Sort; Self.MyChart.Series[0].XValues.FillSequence; Self.MyChart.Repaint; [/code] 這沒有甚麼問題,但我想知道在排序後如何才能夠回到初始狀態(即沒排序前)? |
pedro
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
試了一下,反排序的確沒反應,用另一個方法是,再重新給新的資料或許可行?
procedure TForm1.FormCreate(Sender: TObject); var idx: integer; x,y:Integer; begin for idx :=0 to 19 do begin x:=idx; y:=random(1000); chart1.Series[0].AddXY(x,y,'',clGreen); end; end; procedure TForm1.Button1Click(Sender: TObject); begin Chart1.Series[0].YValues.Order := loDescending; Chart1.Series[0].YValues.Sort; Chart1.Series[0].YValues.FillSequence; Chart1.Repaint; end; procedure TForm1.Button2Click(Sender: TObject); var idx: integer; x,y:Integer; begin // Chart1.Series[0].YValues.Sort; // Chart1.Series[0].YValues.FillSequence; // Chart1.Repaint; Chart1.Series[0].Clear; for idx :=0 to 19 do begin x:=idx; y:=random(1000); chart1.Series[0].AddXY(x,y,'',clGreen); end; Chart1.Series[0].YValues.Order := loNone; end; |
KFC123_60201
一般會員 ![]() ![]() 發表:58 回覆:18 積分:15 註冊:2006-07-25 發送簡訊給我 |
謝謝。雖然可以,但我的data比較多,而且用戶需要多次在有序與原序data裡轉換,這樣太慢了,不知有沒有其它方法?謝謝
===================引 用 pedro 文 章=================== 試了一下,反排序的確沒反應,用另一個方法是,再重新給新的資料或許可行? procedure TForm1.FormCreate(Sender: TObject); var idx: integer; x,y:Integer; begin for idx :=0 to 19 do begin x:=idx; y:=random(1000); chart1.Series[0].AddXY(x,y,'',clGreen); end; end; procedure TForm1.Button1Click(Sender: TObject); begin Chart1.Series[0].YValues.Order := loDescending; Chart1.Series[0].YValues.Sort; Chart1.Series[0].YValues.FillSequence; Chart1.Repaint; end; procedure TForm1.Button2Click(Sender: TObject); var idx: integer; x,y:Integer; begin // Chart1.Series[0].YValues.Sort; // Chart1.Series[0].YValues.FillSequence; // Chart1.Repaint; Chart1.Series[0].Clear; for idx :=0 to 19 do begin x:=idx; y:=random(1000); chart1.Series[0].AddXY(x,y,'',clGreen); end; Chart1.Series[0].YValues.Order := loNone; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |