下載TeeChart Pro VCL/FMX最新版本html
TeeChart Pro將自動爲您定義全部Axis標籤,並提供足夠的靈活性來定製您可能具備的任何特定要求。TeeChart Pro提供真正的多軸。這些可在設計或運行時使用,併爲Axis定義提供無數可能性和靈活性。編程
將Series數據添加到Chart時,會自動設置軸刻度。您能夠使用Axis屬性在設計時或運行時更改默認值。app
自動選擇最佳軸刻度範圍以適合您的數據。若是關閉「Automatic」,則「Scales」部分將激活選項,您能夠更改「axis」值。重要的是,請記住從頁面左側的「Axis」菜單中選擇要配置的軸。dom
將行系列添加到圖表中添加一個命令按鈕,其中包含如下代碼:編輯器
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;
在按鈕中運行代碼將繪製一個包含40個隨機值的Line Series。字體
在設計時轉到圖表編輯器。在Axis頁面的Bottom Axis scales部分中關閉Automatic'off'。您如今能夠配置軸刻度的最大值和最小值。再次運行代碼將顯示值,具體取決於您爲Axis配置的值。使用鼠標右鍵能夠滾動查看剩餘值。this
按代碼設置軸刻度spa
您能夠使用如下代碼在運行時更改最大值和最小值:設計
With Chart1.Axes.Bottom do begin Automatic := False; Maximum := 36; Minimum ;= 5; end;
您能夠將Axis scale Maximum和Minimum設置爲自動單獨。例如:3d
With Chart1.Axes.Bottom do begin AutomaticMaximum := True; Minimum := 5; end;
您能夠定製Axis的間隔。從Axis頁面的Scales部分選擇Desired Increment組合框,並添加所需的增量。您能夠在運行時經過代碼更改它:
Chart1.Axes.Bottom.Increment := 20;
日期時間數據
若是您的數據是日期時間(您能夠經過轉到「系列」,「常規」頁面將數據設置爲系列的日期時間),「圖表」,「軸」頁面和「比例」部分將顯示日期時間範圍。從Desired Increment組合框中顯示的範圍中選擇 。
添加一些示例數據
for t := 1 To 25 do Series1.AddXY(EncodeDate(1998, 4, t), Random(t), '', clRed);
在運行時更改增量:
Chart1.Axes.Bottom.Increment := DateTimeStep[dtOneWeek];
標題在Axis頁面的標題部分設置。您能夠更改Axis及其字體的標題文本。角度能夠從值0,90,180,270度中選擇。有關運行時,請參閱TChartAxisTitle組件。
注意:
更改軸標籤頻率時,請記住TeeChart將根據LabelsSeparation屬性的設置避免標籤重疊。這意味着若是標籤頻率過高而不適合標籤,那麼TeeChart將分配「最佳匹配」。更改標籤角度和標籤分離是2個選項,可幫助您安裝所需的標籤。請參閱標籤部分和LabelsAngle屬性。
標籤格式
您能夠將全部標準數字和日期格式應用於Axis標籤。「軸」頁面的「標籤」部分包含「值格式」字段。若是您的數據是datetime,則字段名稱將更改成「Date time format」。在編輯器中拖動幫助「?」 在該字段上的圖標,以得到完整的選項列表。在運行時使用:
Chart1.Axes.Bottom.AxisValuesFormat := '#,##0.00;(#,##0.00)'; //or for Datetime data Chart1.Axes.Bottom.DateTimeFormat := 'dd/mmm/yy hh:mm:ss';
MultiLine標籤
Axis標籤能夠顯示爲多行文本而不是單行文本。使用TeeLineSeparator全局常量分隔行,該常量默認爲回車符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標籤的示例:
如下將在兩行文本中顯示底軸標籤,一行顯示月份和日期,第二行顯示年份: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屬性設置爲True,則軸將自動將標籤拆分爲找到空格的單獨行。
Chart1.Axes.Bottom.LabelsMultiLine:=True;
將標籤分爲兩部分:
'mm / dd'表明第二行
'hh:mm'表明第二行
在運行時,您始終能夠使用OnGetAxisLabel事件以編程方式將標籤拆分爲行:
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屬性(標度旋轉角度爲0度,90度,180度或270度)也可用於多線軸標籤。
自定義軸標籤
能夠使用Axis事件得到更多標籤控件。事件容許您激活/停用/更改任何單個Axis標籤。如下示例修改每一個Label,將文本短語放在點索引值的前面。
//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;
有3種刻度類型。您能夠更改每種刻度類型的長度,寬度和顏色。若是刻度線寬度設置爲1(默認值),則能夠將樣式更改成多種線型之一(點,短劃線等)。若是width大於1,則將忽略樣式。
With Chart1.Axes.Bottom do Begin TickLength := 7; Ticks.Color := clGreen; MinorTickCount := 10; //change number of minorticks between (major) Ticks end;
軸具備修改每一個軸所在位置的屬性。在此示例中,軸移動到圖表總寬度的50%,所以它顯示在圖表中心:
Chart1.Axes.Left.PositionPercent := 50 ;