Delphi Tchart 控件使用.doc_第1頁
Delphi Tchart 控件使用.doc_第2頁
Delphi Tchart 控件使用.doc_第3頁
Delphi Tchart 控件使用.doc_第4頁
Delphi Tchart 控件使用.doc_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Delphi Tchart 控件使用?。ㄞD(zhuǎn)帖) 收藏 這樣就會生成一個簡單的折線圖表,要生成其它類型的數(shù)據(jù)圖表,可以添加不同的數(shù)據(jù)序列(各種圖表的序列類型可以參考幫助文檔)。2.如何設(shè)置圖表的標(biāo)題?TChart組件提供了Title屬性可以這是圖表的標(biāo)題,包括標(biāo)題的內(nèi)容、字體、對齊方式等都可以通過Title屬性設(shè)置。最簡單的設(shè)置方式:Chart1.Title.Text.Text := '圖表的標(biāo)題'3.如何修改圖表的背景顏色和整個圖表的顏色?TChart是一個窗體控件,可以通過修改Color屬性設(shè)置圖表顏色,這是一種最簡單的方式:Chart1.Color := clWhite;修改圖表部分的背景色可以通過BackColor屬性來實現(xiàn):Chart1.BackColor := clGreen;此外,TChart還提供了漸變的背景支持,通過Gradient控制:Chart1.Gradient.Visible := True;Chart1.Gradient.Direction := gdFromTopLeft;Chart1.Gradient.StartColor := clGreen;Chart1.Gradient.EndColor := clYellow;4.TChart的3D效果如何控制?TChart提供了View3D屬性,控制是否使用3D效果,View3dWalls屬性控制是否顯示左側(cè)的3D墻效果5.如何不顯示圖表控件生成圖表?很遺憾,TChart是一個Windows窗體控件,必須依附一個窗體或Windows控件才能使用。如果要不顯示TChart的話,可以將TChart的Visible屬性設(shè)為False來使用。下面的例子創(chuàng)建了一個隱藏的TChart來生成圖表:varChart: TChart;S: TChartSeries;TmpFile: string;beginChart := TChart.Create(nil);try Chart.Parent := Application.MainForm; Chart.Visible := False; Chart.Title.Text.Text := '測試圖表' S := TBarSeries.Create(Chart); Chart.AddSeries(S); S.Title := '嘿嘿' S.AddXY(1, 56, '一月', clGreen); S.AddXY(2, 67, '二月', clYellow); S.AddXY(3, 34, '三月', clBlue); S.AddXY(4, 78, '四月', clRed); Chart.View3D := False; Chart.BackColor := clWhite; Chart.Gradient.StartColor := clWhite; Chart.Gradient.EndColor := clWhite; Chart.Gradient.Visible := True; TmpFile := Application.ExeName + '.bmp' Chart.SaveToBitmapFile(TmpFile); Image1.Picture.LoadFromFile(TmpFile);finally Chart.Free;end;end; 分析報告1.1 概述 TChart是delphi里面一個標(biāo)準(zhǔn)的圖形顯示控件。它可以靜態(tài)設(shè)計(at design time)也可以動態(tài)生成。1.2 繼承關(guān)系 Tobject TPersistent TComponent TControl TCustomControl TWedgetControl TChart TCustomPanel 1.3 tips1.3.1 Pro Version支持Bezier , Contour , Radar 和 point3D 曲線1.3.2 支持jpeg文件的導(dǎo)出1.3.3 Chart中的Series 可以連接到Table , Query , RemoteDataset(其他數(shù)據(jù)集)1.3.4 TChart里的series的active屬性可以實現(xiàn)對已繪制圖形的顯示或者隱藏1.3.5 在TChart中, tchartSeries是所有具體series的父類,沒有畫出什么來的,用一個具體的series類來創(chuàng)建就可以了,比如用TLineSeries、 TPieSeries、 TPointSeries、 TPointSeries等等都行1.3.6 TTeeFunction Component可以實現(xiàn)在同一個TChart里面,一個Serries對另一個Serries的統(tǒng)計1.4 問題極其使用技巧1.4.1 TChart中如何實現(xiàn)只有Y軸的放大與縮小功能?設(shè)置BottomAxis或者LeftAxis的Automatic:=false并同時設(shè)置Minimum,Maximum屬性1.4.2 如何固定TChart中的坐標(biāo),不使TChart中的坐標(biāo)跟隨Series的變化而變化?/設(shè)置底座標(biāo) with myChart.BottomAxis do begin Automatic:=false; Minimum:=0; LabelStyle := talText; end; /設(shè)置左坐標(biāo) with myChart.LeftAxis do begin Automatic:=false; Minimum:=0; Title.Angle:=270; Title.Font:=Self.Font; Title.Font.Charset:=ANSI_CHARSET; Title.Font.Name:='宋體' Grid.Visible := False; end; /設(shè)置右坐標(biāo) with myChart.RightAxis do begin Automatic:=false; Title.Font:=Self.Font; Title.Font.Charset:=ANSI_CHARSET; Title.Font.Name:='宋體' Title.Caption:='累計百分比(%)' Maximum:=100; Minimum:=0; end;1.4.3 如何刪除一個圖形中的一個點?使用Series的delete 方法1.4.4 如何修改一個點的X或者Y 值?LineSeries1.YValue3 := 27.1 ; In Bubble SeriesBubbleSeries1.RadiusValues.Value 8 := 8.1 ;In Pie SeriesPieSeries1.PieValues.Value 3 := 111 ;1.4.5 如果橫坐標(biāo)是時間(日期),如何進(jìn)行設(shè)置?First, you need to set the DateTime property to True in the desired X and/or Y values list.LineSeries1.XValues.DateTime := True ;Second, use the same above described methods, but give the values as Date, Time or DateTime valuesLineSeries1.AddXY( EncodeDate( 1996 , 1 , 23 ) , 25.4 , 'Barcelona' , clGreen );1.4.6 如何在chart中畫出的曲線某個點上標(biāo)記出該點的值?Series.Marks.Visible:=true;Series.Marks.Style:=smsValue;1.4.7 如何設(shè)置橫軸或者縱軸的增長率?Chart.BottomAxis.Increment := DataTimeStep dtOneHour ;Chart.RightAxis.Increment := 1000;1.4.8 如何對圖象進(jìn)行縮放?TChart的ZoomRect或者ZoomPercent方法 (Pie圖可能不支持縮放) 1.5 TChart可以繪制的圖形1.5.1 Line ( TLineSeries)1.5.2 FastLine (TFastLineSeries) 相對Line來說,它損耗了某些屬性從而來實現(xiàn)快速繪制1.5.3 Bar (TBarSeries) 1.5.4 Horizontal bar (THorizBarSeries)1.5.5 Area (TAreaSeries)1.5.6 Point (TPointSeries)1.5.7 Pie (TPieSeries)1.5.8 Arrow (TArrowSeries)1.5.9 Bubble (TBubbleSeries)1.5.10 Gantt (TGanttSeries)1.5.11 Sharp (TChartShape)1.6 TChart的實時繪制 實時繪制對機(jī)器性能要求比較高,因此我們在編程的時候要注意下面幾個方面: 使用2D圖形 是Chart盡可能包含少的點 如果需要,可以移除(remove)chart的legend(?)和Title 使用默認(rèn)的字體和字體大小 使用FastLineSeries 使用實體(solid)畫筆和畫刷格式 盡量避免使用圓形和環(huán)行bar樣式 不要使用背景圖片和漸變效果樣式 把Chart的BevelInner和BevelOUter屬性設(shè)置為bcNone 如果需要,把TChart的AxisVisible屬性設(shè)置為False 把BufferedDisplay設(shè)置為false可以加速chart的重繪1.7 Scrolling TChart有4中scroll選擇(AllowPanning屬性),分別是不允許Scroll ( pmNone) ; 水平Scroll (pmHorizontal) ; 垂直Scroll (pmVertical) ; 水平和垂直Scroll (pmBoth)Procedure Scroll(Const Offset:Double; CheckLimits:Boolean);例子如下: Chart1.BottomAxis.Scroll( 1000, True );這段代碼也等同于With Chart1.BottomAxis doBegin Automatic:=false; SetMinMax( Minimum+1000, Maximum+1000 ); End;1.8 TChart中的全局變量 TeeScrollMouseButton := mbRight;設(shè)置鼠標(biāo)右鍵為TChart滾動鍵(默認(rèn)) TeeScrollKeyShift := ssCtrl ; 要按住Control鍵才可以使Scroll滾動1.9 TChartSerries使用技巧1.9.1 運行時候創(chuàng)建一個Serries, 三種方法:1Var MySeries : TBarSeries ;MySeries := TBarSeries.Create( Self );MySeries.ParentChart := Chart1 ;2Chart1.AddSeries( TBarSeries.Create( Self ) );3Var MyClass : TChartSeriesClass;MyClass := TBarSeries ;Chart1.AddSeries( MyClass.Create( Self ) );1.9.2 獲得TChart中的Serries數(shù)組,也有三種方法1MySeries := Chart1.SeriesList 0 2MySeries := Chart1.Series 0 3MySeries := Chart1 0 1.9.3 SerriesCount屬性獲得SeriesList中Series的個數(shù)1.9.4 隱藏TChart中的Series有三種方法,但是效果不等價1 Series1.Active:=False; 僅僅隱藏,當(dāng)設(shè)置為true的時候還可以顯示出來2 Series1.ParentChart:=nil ; 隱藏,重新設(shè)置ParentChart為TChart時候可以顯示3 Series1.Free; 刪除了Series. 不可以恢復(fù)1.9.5 TChart中的數(shù)據(jù)排序 With Series1 dobegin YValues.Order:=loAscending; YValues.Sort; Repaint;e

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論