国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Tchart分析報告

2019-11-18 18:13:35
字體:
來源:轉載
供稿:網友

1          Tchart分析報告

1.1      [概述]

   TChart是delphi里面一個標準的圖形顯示控件。它可以靜態設計(at design time)也可以動態生成。

1.2      [繼承關系]

   

TObject
TPersistent
TComponent
TControl
TCustomControl
TWedgetControl
TChart
TCustomPanel

1.3      [tips]

1.3.1            PRo Version支持Bezier , Contour , Radar 和  point3D 曲線

1.3.2            支持jpeg文件的導出

1.3.3            Chart中的Series 可以連接到Table , Query , RemoteDataset(其他數據集)

1.3.4            TChart里的series的active屬性可以實現對已繪制圖形的顯示或者隱藏

1.3.5            在TChart中, tchartSeries是所有具體series的父類,沒有畫出什么來的,用一個具體的series類來創建就可以了,比如用TLineSeries、TPieSeries、 TPointSeries、 TPointSeries等等都行

1.3.6            TTeeFunction Component可以實現在同一個TChart里面,一個Serries對另一個Serries的統計

 

1.4      [問題極其使用技巧]

1.4.1            TChart中如何實現只有Y軸的放大與縮小功能?

設置BottomAxis或者LeftAxis的Automatic:=false并同時設置Minimum,Maximum屬性

1.4.2            如何固定TChart中的坐標,不使TChart中的坐標跟隨Series的變化而變化?

//設置底座標
  with myChart.BottomAxis do
  begin
    Automatic:=false;
    Minimum:=0;
    LabelStyle := talText;
  end;
  //設置左坐標
  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;
  //設置右坐標
  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.YValue[3] := 27.1 ;
{In Bubble Series}
BubbleSeries1.RadiusValues.Value[ 8 ] := 8.1 ;
{In Pie Series}
PieSeries1.PieValues.Value[ 3 ] := 111 ;

1.4.5            如果橫坐標是時間(日期),如何進行設置?

{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 values}
LineSeries1.AddXY( EncodeDate( 1996 , 1 , 23 ) , 25.4 , 'Barcelona' , clGreen );

1.4.6            如何在chart中畫出的曲線某個點上標記出該點的值?

Series.Marks.Visible:=true;
Series.Marks.Style:=smsValue;

1.4.7            如何設置橫軸或者縱軸的增長率?

Chart.BottomAxis.Increment := DataTimeStep[ dtOneHour ] ;
Chart.RightAxis.Increment := 1000;

1.4.8            如何對圖象進行縮放?

TChart的ZoomRect或者ZoomPercent方法 (Pie圖可能不支持縮放)
 
 

1.5      [TChart可以繪制的圖形]

1.5.1            Line ( TLineSeries)

1.5.2            FastLine (TFastLineSeries) 相對Line來說,它損耗了某些屬性從而來實現快速繪制

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的實時繪制]

  實時繪制對機器性能要求比較高,因此我們在編程的時候要注意下面幾個方面:
ü         使用2D圖形
ü         是Chart盡可能包含少的點
ü         如果需要,可以移除(remove)chart的legend(?????)和Title
ü         使用默認的字體和字體大小
ü         使用FastLineSeries
ü         使用實體(solid)畫筆和畫刷格式
ü         盡量避免使用圓形和環行bar樣式
ü         不要使用背景圖片和漸變效果樣式
ü         把Chart的BevelInner和BevelOUter屬性設置為bcNone
ü         如果需要,把TChart的AxisVisible屬性設置為False
ü         把BufferedDisplay設置為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 do
Begin
 Automatic:=false;
 SetMinMax( Minimum+1000, Maximum+1000 );
    End;
 
 

1.8      [TChart中的全局變量]

ü         TeeScrollMouseButton := mbRight;設置鼠標右鍵為TChart滾動鍵(默認)
ü         TeeScrollKeyShift    := [ ssCtrl ]; 要按住Control鍵才可以使Scroll滾動
 

1.9      [TChartSerries使用技巧]

1.9.1            運行時候創建一個Serries, 三種方法:

1.Var MySeries : TBarSeries ;
MySeries := TBarSeries.Create( Self );
MySeries.ParentChart := Chart1 ;
            2.Chart1.AddSeries( TBarSeries.Create( Self ) );
                3.Var MyClass : TChartSeriesClass;
MyClass := TBarSeries ;
Chart1.AddSeries( MyClass.Create( Self ) );

1.9.2            獲得TChart中的Serries數組,也有三種方法

1.MySeries := Chart1.SeriesList [ 0 ]
2.MySeries := Chart1.Series [ 0 ]
3.MySeries := Chart1 [ 0 ]

1.9.3            SerriesCount屬性獲得SeriesList中Series的個數

1.9.4            隱藏TChart中的Series有三種方法,但是效果不等價

1.  Series1.Active:=False; 僅僅隱藏,當設置為true的時候還可以顯示出來
2.  Series1.ParentChart:=nil ; 隱藏,重新設置ParentChart為TChart時候可以顯示
3.  Series1.Free; 刪除了Series. 不可以恢復

1.9.5            TChart中的數據排序

    With Series1 do
begin
    YValues.Order:=loAscending;
    YValues.Sort;
    Repaint;
end;
Ø         定位一個點(Loacate a point)
Series1.XValues.Locate(123);
Ø         XValue和YValue都擁有的屬性Total , TotalABS , MaxValue , MinValue

上一篇:使用Topmost窗口,并且不會產生閃爍的現象

下一篇:如何通過COM接口得到實現該接口的對象實例

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 扶风县| 仪征市| 格尔木市| 延安市| 井研县| 西充县| 罗源县| 习水县| 铜鼓县| 荣成市| 天镇县| 彭阳县| 河东区| 城固县| 石城县| 龙海市| 田东县| 嘉兴市| 安塞县| 霍山县| 马尔康县| 钟祥市| 肃北| 颍上县| 皋兰县| 买车| 屏东市| 龙海市| 嘉善县| 运城市| 慈溪市| 平乡县| 怀远县| 长丰县| 察雅县| 罗田县| 恭城| 嘉定区| 仪陇县| 博白县| 大渡口区|