• <menu id="w2i4a"></menu>
  • logo 【TeeChart VCL/FMX】教程2019

    文檔首頁(yè)>>【TeeChart VCL/FMX】教程2019>>TeeChart Pro VCL/FMX教程(四):軸控制(上)

    TeeChart Pro VCL/FMX教程(四):軸控制(上)


    下載TeeChart Pro VCL/FMX最新版本

    已加入在線訂購(gòu),現(xiàn)在搶購(gòu)可立享特別優(yōu)惠?。?!

    TeeChart Pro將自動(dòng)為您定義所有Axis標(biāo)簽,并提供足夠的靈活性來(lái)定制您可能具有的任何特定要求。TeeChart Pro提供真正的多軸。這些可在設(shè)計(jì)或運(yùn)行時(shí)使用,并為Axis定義提供無(wú)數(shù)可能性和靈活性。

    軸控制 - 關(guān)鍵領(lǐng)域

    Series

    將Series數(shù)據(jù)添加到Chart時(shí),會(huì)自動(dòng)設(shè)置軸刻度。您可以使用Axis屬性在設(shè)計(jì)時(shí)或運(yùn)行時(shí)更改默認(rèn)值。

    Teechart

    自動(dòng)選擇最佳軸刻度范圍以適合您的數(shù)據(jù)。如果關(guān)閉“Automatic”,則“Scales”部分將激活選項(xiàng),您可以更改“axis”值。重要的是,請(qǐng)記住從頁(yè)面左側(cè)的“Axis”菜單中選擇要配置的軸。

    將行系列添加到圖表中添加一個(gè)命令按鈕,其中包含以下代碼:

    procedure TForm1.BitBtn1Click(Sender: TObject);
    var t: Integer;
    begin
     For t := 0 To 40 do
       With Series1 do
       begin
         Add(Int(Random(t)), '', clRed);
       end;
    end;

    在按鈕中運(yùn)行代碼將繪制一個(gè)包含40個(gè)隨機(jī)值的Line Series。

    Teechart

    在設(shè)計(jì)時(shí)轉(zhuǎn)到圖表編輯器。在Axis頁(yè)面的Bottom Axis scales部分中關(guān)閉Automatic'off'。您現(xiàn)在可以配置軸刻度的最大值和最小值。再次運(yùn)行代碼將顯示值,具體取決于您為Axis配置的值。使用鼠標(biāo)右鍵可以滾動(dòng)查看剩余值。

    按代碼設(shè)置軸刻度

    您可以使用以下代碼在運(yùn)行時(shí)更改最大值和最小值:

    With Chart1.Axes.Bottom do
    begin
      Automatic := False;
      Maximum := 36;
      Minimum ;= 5;
    end;

    Teechart

    您可以將Axis scale Maximum和Minimum設(shè)置為自動(dòng)單獨(dú)。例如:

    With Chart1.Axes.Bottom do
    begin
      AutomaticMaximum := True;
      Minimum := 5;
    end;

    Increment

    您可以定制Axis的間隔。從Axis頁(yè)面的Scales部分選擇Desired Increment組合框,并添加所需的增量。您可以在運(yùn)行時(shí)通過(guò)代碼更改它:

    Chart1.Axes.Bottom.Increment := 20;
    
    日期時(shí)間數(shù)據(jù)

    如果您的數(shù)據(jù)是日期時(shí)間(您可以通過(guò)轉(zhuǎn)到“系列”,“常規(guī)”頁(yè)面將數(shù)據(jù)設(shè)置為系列的日期時(shí)間),“圖表”,“軸”頁(yè)面和“比例”部分將顯示日期時(shí)間范圍。從Desired Increment組合框中顯示的范圍中選擇 。

    添加一些示例數(shù)據(jù)

    for t := 1 To 25 do
        Series1.AddXY(EncodeDate(1998, 4, t), Random(t), '', clRed);

    在運(yùn)行時(shí)更改增量:

     Chart1.Axes.Bottom.Increment := DateTimeStep[dtOneWeek];
    

    Title

    標(biāo)題在Axis頁(yè)面的標(biāo)題部分設(shè)置。您可以更改Axis及其字體的標(biāo)題文本。角度可以從值0,90,180,270度中選擇。有關(guān)運(yùn)行時(shí),請(qǐng)參閱TChartAxisTitle組件。

    Labels

    注意:

    更改軸標(biāo)簽頻率時(shí),請(qǐng)記住TeeChart將根據(jù)LabelsSeparation屬性的設(shè)置避免標(biāo)簽重疊。這意味著如果標(biāo)簽頻率太高而不適合標(biāo)簽,那么TeeChart將分配“最佳匹配”。更改標(biāo)簽角度和標(biāo)簽分離是2個(gè)選項(xiàng),可幫助您安裝所需的標(biāo)簽。請(qǐng)參閱標(biāo)簽部分和LabelsAngle屬性。

    標(biāo)簽格式

    您可以將所有標(biāo)準(zhǔn)數(shù)字和日期格式應(yīng)用于Axis標(biāo)簽。“軸”頁(yè)面的“標(biāo)簽”部分包含“值格式”字段。如果您的數(shù)據(jù)是datetime,則字段名稱將更改為“Date time format”。在編輯器中拖動(dòng)幫助“?” 在該字段上的圖標(biāo),以獲得完整的選項(xiàng)列表。在運(yùn)行時(shí)使用:

    Chart1.Axes.Bottom.AxisValuesFormat := '#,##0.00;(#,##0.00)';
    //or for Datetime data
    Chart1.Axes.Bottom.DateTimeFormat := 'dd/mmm/yy hh:mm:ss';
    MultiLine標(biāo)簽

    Axis標(biāo)簽可以顯示為多行文本而不是單行文本。使用TeeLineSeparator全局常量分隔行,該常量默認(rèn)為回車符ascii字符(#13)。

    //Add the Series labels in this way and apply 'Marks' as Axis labelling style
    
    Series1.Add( 1234, 'New'+TeeLineSeparator+'cars' , clRed );
    Series1.Add( 2000, 'Old'+TeeLineSeparator+'bicycles' , clBlue );

    DateTime標(biāo)簽的示例:

    以下將在兩行文本中顯示底軸標(biāo)簽,一行顯示月份和日期,第二行顯示年份:Feb-28 Mar-1 .. 1998 1998 ..

    Series1.AddXY( EncodeDate( 1998,2,28 ), 100 );
    Series1.AddXY( EncodeDate( 1998,3,1 ), 200 );
    Series1.AddXY( EncodeDate( 1998,3,2 ), 150 );
    
    Series1.XValues.DateTime := True;
    
    Chart1.Axes.Bottom.DateTimeFormat := 'mm/dd hh:mm';   { <-- space }

    如果將LabelsMultiLine屬性設(shè)置為T(mén)rue,則軸將自動(dòng)將標(biāo)簽拆分為找到空格的單獨(dú)行。

    Chart1.Axes.Bottom.LabelsMultiLine:=True;
    

    將標(biāo)簽分為兩部分:

    'mm / dd'代表第二行
    'hh:mm'代表第二行

    在運(yùn)行時(shí),您始終可以使用OnGetAxisLabel事件以編程方式將標(biāo)簽拆分為行:

    procedure TForm1.Chart1GetAxisLabel(Sender: TChartAxis;
      Series: TChartSeries; ValueIndex: Integer; var LabelText: String);
    var s:string;
    begin
        s:='abc'+TeeLineSeparator+'def';
        LabelText:=ReplaceChar(s,' ',TeeLineSeparator);
    end;

    軸LabelsAngle屬性(標(biāo)度旋轉(zhuǎn)角度為0度,90度,180度或270度)也可用于多線軸標(biāo)簽。

    自定義軸標(biāo)簽

    可以使用Axis事件獲得更多標(biāo)簽控件。事件允許您激活/停用/更改任何單個(gè)Axis標(biāo)簽。以下示例修改每個(gè)Label,將文本短語(yǔ)放在點(diǎn)索引值的前面。

    //set LabelStyle to 'Mark' with the TChart editor or use:-
    Chart1.Axes.Bottom.LabelsStyle := talMark;
    
    //OnGetaxisLabel event
    procedure TForm1.Chart1GetAxisLabel(Sender: TChartAxis;
      Series: TChartSeries; ValueIndex: Integer; var LabelText: String);
    begin
     if Sender = Chart1.Axes.Bottom then
        LabelText := 'Period ' + IntToStr(ValueIndex);
    end;

    Ticks

    Teechart

    有3種刻度類型。您可以更改每種刻度類型的長(zhǎng)度,寬度和顏色。如果刻度線寬度設(shè)置為1(默認(rèn)值),則可以將樣式更改為多種線型之一(點(diǎn),短劃線等)。如果width大于1,則將忽略樣式。

    With Chart1.Axes.Bottom do
    Begin
      TickLength := 7;
      Ticks.Color := clGreen;
      MinorTickCount := 10; //change number of minorticks between (major) Ticks
    end;

    軸位置

    軸具有修改每個(gè)軸所在位置的屬性。在此示例中,軸移動(dòng)到圖表總寬度的50%,因此它顯示在圖表中心:

    Chart1.Axes.Left.PositionPercent := 50 ;
    

    查看Teechart.Net系列教程>>

    購(gòu)買TeeChart Pro VCL/FMX正版授權(quán),請(qǐng)點(diǎn)擊“咨詢?cè)诰€客服”喲!

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();