object Form1: TForm1 Left = 559 Height = 434 Top = 158 Width = 533 Caption = 'TAChart axis transformation demo' ClientHeight = 434 ClientWidth = 533 OnCreate = FormCreate Position = poScreenCenter LCLVersion = '2.3.0.0' object PageControl1: TPageControl Left = 0 Height = 434 Top = 0 Width = 533 ActivePage = tsLinear Align = alClient TabIndex = 0 TabOrder = 0 object tsLinear: TTabSheet Caption = 'Linear' ClientHeight = 406 ClientWidth = 525 object ChartT: TChart Left = 0 Height = 371 Top = 0 Width = 525 AxisList = < item Grid.Visible = False TickColor = clRed AxisPen.Color = clRed AxisPen.Visible = True Marks.LabelFont.Color = clRed Marks.AtDataOnly = True Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Color = clRed Title.LabelFont.Orientation = 900 Title.Visible = True Title.Caption = 'Summer temperature, °C' Title.LabelBrush.Style = bsClear Transformations = catTAuto end item Intervals.MaxLength = 100 Intervals.MinLength = 20 Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.Visible = True Title.Caption = 'Year' Title.LabelBrush.Style = bsClear end item Grid.Visible = False TickColor = clBlue Alignment = calRight AxisPen.Color = clBlue AxisPen.Visible = True Marks.Distance = 4 Marks.LabelFont.Color = clBlue Marks.AtDataOnly = True Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Color = clBlue Title.LabelFont.Orientation = 900 Title.Visible = True Title.Caption = 'Winter temperature, °F' Title.LabelBrush.Style = bsClear Transformations = catT end> Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Frame.Visible = False Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Align = alClient Color = clWindow object ChartTSummer: TLineSeries AxisIndexY = 0 LinePen.Color = clRed LinePen.Width = 2 Source = rcsTSummer end object ChartTWinterLine: TLineSeries AxisIndexY = 2 LinePen.Color = clBlue LinePen.Width = 2 Source = rcsTWinter end object ChartTWinterBar: TBarSeries AxisIndexY = 2 BarBrush.Color = clBlue BarBrush.Style = bsDiagCross Source = rcsTWinter end end object pnlAutoControls: TPanel Left = 0 Height = 35 Top = 371 Width = 525 Align = alBottom AutoSize = True BevelOuter = bvNone ClientHeight = 35 ClientWidth = 525 TabOrder = 1 object cbAuto: TCheckBox AnchorSideLeft.Control = pnlAutoControls AnchorSideTop.Control = pnlAutoControls AnchorSideTop.Side = asrCenter Left = 8 Height = 19 Top = 8 Width = 73 BorderSpacing.Left = 8 BorderSpacing.Top = 8 BorderSpacing.Bottom = 8 Caption = 'Auto scale' OnChange = cbAutoChange TabOrder = 0 end end end object tsIndependent: TTabSheet Caption = 'Independent scale' ClientHeight = 406 ClientWidth = 525 object ChartIndependent: TChart Left = 0 Height = 347 Top = 0 Width = 525 AxisList = < item Grid.Visible = False Intervals.Tolerance = 1 TickColor = clNavy Marks.LabelFont.Color = clNavy Marks.LabelFont.Style = [fsBold] Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Orientation = 900 Title.LabelBrush.Style = bsClear Transformations = catIndependent1 end item Grid.Visible = False Alignment = calBottom Marks.Visible = False Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelBrush.Style = bsClear end item Grid.Visible = False Intervals.Tolerance = 1 TickColor = clGreen Alignment = calRight Marks.LabelFont.Color = clGreen Marks.LabelFont.Style = [fsBold] Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelBrush.Style = bsClear Transformations = catIndependent2 end> Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Align = alClient Color = clWhite object ChartIndependentLineSeries1: TLineSeries AxisIndexY = 0 LinePen.Color = clNavy LinePen.Width = 2 end object ChartIndependentLineSeries2: TLineSeries AxisIndexY = 2 LinePen.Color = clGreen LinePen.Width = 2 end end object pnlIndependentControls: TPanel Left = 4 Height = 51 Top = 351 Width = 517 Align = alBottom AutoSize = True BorderSpacing.Around = 4 BevelOuter = bvNone ClientHeight = 51 ClientWidth = 517 TabOrder = 1 object fseIndependent1: TFloatSpinEdit AnchorSideLeft.Control = lblIndependentScale1 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = rgSyncAxisMarks AnchorSideTop.Side = asrCenter Left = 63 Height = 23 Top = 14 Width = 70 BorderSpacing.Left = 8 Increment = 0.1 MaxValue = 10 MinValue = 0.1 OnChange = fseIndependent1Change TabOrder = 0 Value = 1 end object fseIndependent2: TFloatSpinEdit AnchorSideLeft.Control = lblIndependentScale2 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = rgSyncAxisMarks AnchorSideTop.Side = asrCenter Left = 196 Height = 23 Top = 14 Width = 70 BorderSpacing.Left = 8 Increment = 0.1 MaxValue = 10 MinValue = 0.1 OnChange = fseIndependent2Change TabOrder = 1 Value = 1 end object lblIndependentScale1: TLabel AnchorSideLeft.Control = pnlIndependentControls AnchorSideTop.Control = fseIndependent1 AnchorSideTop.Side = asrCenter Left = 16 Height = 15 Top = 18 Width = 39 BorderSpacing.Left = 16 Caption = 'Scale 1' Font.Color = clNavy Font.Style = [fsBold] ParentFont = False end object lblIndependentScale2: TLabel AnchorSideLeft.Control = fseIndependent1 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = fseIndependent2 AnchorSideTop.Side = asrCenter Left = 149 Height = 15 Top = 18 Width = 39 BorderSpacing.Left = 16 Caption = 'Scale 2' Font.Color = clGreen Font.Style = [fsBold] ParentFont = False end object rgSyncAxisMarks: TRadioGroup AnchorSideRight.Side = asrBottom Left = 330 Height = 51 Top = 0 Width = 187 Align = alRight AutoFill = True AutoSize = True BorderSpacing.InnerBorder = 4 Caption = ' Synchronize marks ' ChildSizing.LeftRightSpacing = 12 ChildSizing.TopBottomSpacing = 2 ChildSizing.HorizontalSpacing = 10 ChildSizing.EnlargeHorizontal = crsHomogenousChildResize ChildSizing.EnlargeVertical = crsHomogenousChildResize ChildSizing.ShrinkHorizontal = crsScaleChilds ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 3 ClientHeight = 31 ClientWidth = 183 Columns = 3 ItemIndex = 1 Items.Strings = ( 'Left' 'None' 'Right' ) OnClick = rgSyncAxisMarksClick TabOrder = 2 end end end object tsLog: TTabSheet Caption = 'Logarithm' ClientHeight = 406 ClientWidth = 525 object ChartLog: TChart Left = 0 Height = 367 Top = 0 Width = 525 AxisList = < item Intervals.Count = 10 Intervals.Options = [aipGraphCoords, aipUseCount, aipUseMinLength, aipUseNiceSteps] Intervals.Tolerance = 5 Marks.LabelBrush.Style = bsClear Marks.Stripes = csStripes Minors = < item Grid.Visible = False Intervals.Count = 9 Intervals.MinLength = 5 Intervals.Options = [aipUseCount, aipUseMaxLength, aipUseMinLength, aipUseNiceSteps] Marks.LabelBrush.Style = bsClear end> Title.LabelFont.Orientation = 900 Title.Visible = True Title.Caption = 'Left' Title.LabelBrush.Style = bsClear Transformations = catLog end item Grid.Visible = False Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.Distance = 0 Title.Visible = True Title.Caption = 'Bottom' Title.LabelBrush.Style = bsClear end item Grid.Visible = False Alignment = calRight Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Orientation = 900 Title.Visible = True Title.Caption = 'Right 1' Title.LabelBrush.Style = bsClear end item Grid.Visible = False Alignment = calTop Arrow.Inverted = True Inverted = True Marks.LabelBrush.Style = bsClear Minors = <> Title.Caption = 'Top' Title.LabelBrush.Style = bsClear end> Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Align = alClient Color = clWindow object clsLogPoints: TLineSeries AxisIndexY = 0 LineType = ltNone Pointer.Brush.Color = clMaroon Pointer.Visible = True ShowPoints = True end object cfsLog: TFuncSeries Extent.UseXMax = True Extent.UseXMin = True Extent.XMax = 3 Extent.XMin = -1 AxisIndexY = 0 OnCalculate = ChartLogFuncSeries1Calculate end end object pnlLogControls: TPanel Left = 8 Height = 23 Top = 375 Width = 509 Align = alBottom AutoSize = True BorderSpacing.Around = 8 BevelOuter = bvNone ClientHeight = 23 ClientWidth = 509 TabOrder = 1 object cbLog: TCheckBox AnchorSideLeft.Control = pnlLogControls AnchorSideTop.Control = seTolerance AnchorSideTop.Side = asrCenter Left = 0 Height = 19 Top = 2 Width = 67 Caption = 'Log scale' Checked = True OnChange = cbLogChange State = cbChecked TabOrder = 0 end object seTolerance: TSpinEdit AnchorSideLeft.Control = lblTolerance AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = pnlLogControls Left = 141 Height = 23 Top = 0 Width = 50 BorderSpacing.Left = 8 MaxValue = 10000 OnChange = seToleranceChange TabOrder = 1 end object lblTolerance: TLabel AnchorSideLeft.Control = cbLog AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = seTolerance AnchorSideTop.Side = asrCenter Left = 83 Height = 15 Top = 4 Width = 50 BorderSpacing.Left = 16 Caption = 'Tolerance' end end end object tsCumulNormDistr: TTabSheet Caption = 'Normal distribution' ClientHeight = 406 ClientWidth = 525 object ChartCumulNormDistr: TChart Left = 0 Height = 324 Top = 82 Width = 525 AxisList = < item Grid.Color = clSilver Grid.Visible = False Intervals.Count = 30 Intervals.Options = [aipUseCount, aipUseNiceSteps] Intervals.Tolerance = 1 Marks.LabelBrush.Style = bsClear Marks.OverlapPolicy = opHideNeighbour Minors = <> Title.LabelFont.Orientation = 900 Title.LabelFont.Style = [fsBold] Title.Visible = True Title.Caption = 'Cumulative probability' Title.LabelBrush.Style = bsClear Transformations = catCumulNormDistr end item Grid.Color = clSilver Grid.Visible = False Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Style = [fsBold] Title.Visible = True Title.Caption = 'Random number' Title.LabelBrush.Style = bsClear end> Extent.XMax = 3 Extent.XMin = -3 Extent.YMax = 3 Extent.YMin = -3 Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue MarginsExternal.Left = 8 MarginsExternal.Right = 12 MarginsExternal.Bottom = 8 Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Align = alClient Color = clWindow object ChartCumulNormDistrLineSeries1: TLineSeries AxisIndexX = 1 AxisIndexY = 0 Pointer.Brush.Color = clBlue Pointer.HorizSize = 2 Pointer.Pen.Color = clBlue Pointer.Style = psCircle Pointer.VertSize = 2 Pointer.Visible = True ShowPoints = True end end object pnCumulNormDistr: TPanel Left = 0 Height = 82 Top = 0 Width = 525 Align = alTop AutoSize = True BevelOuter = bvNone ClientHeight = 82 ClientWidth = 525 TabOrder = 1 object rgRandDistr: TRadioGroup AnchorSideLeft.Control = pnCumulNormDistr AnchorSideTop.Control = pnCumulNormDistr Left = 8 Height = 66 Top = 8 Width = 175 AutoFill = True AutoSize = True BorderSpacing.Left = 8 BorderSpacing.Top = 8 BorderSpacing.Bottom = 8 Caption = ' Random number generation ' ChildSizing.LeftRightSpacing = 12 ChildSizing.TopBottomSpacing = 4 ChildSizing.EnlargeHorizontal = crsHomogenousChildResize ChildSizing.EnlargeVertical = crsHomogenousChildResize ChildSizing.ShrinkHorizontal = crsScaleChilds ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 1 ClientHeight = 46 ClientWidth = 171 ItemIndex = 1 Items.Strings = ( 'uniform distribution' 'normal distribution' ) OnClick = rgRandDistrClick ParentFont = False TabOrder = 0 end object cbPercent: TCheckBox AnchorSideLeft.Control = lblDataCount AnchorSideTop.Control = edDataCount AnchorSideTop.Side = asrBottom Left = 199 Height = 19 Top = 39 Width = 58 BorderSpacing.Top = 8 Caption = 'Percent' OnChange = cbPercentChange TabOrder = 1 end object cbUseAxisTransform: TCheckBox AnchorSideLeft.Control = edDataCount AnchorSideTop.Control = cbPercent Left = 268 Height = 19 Top = 39 Width = 116 BorderSpacing.Bottom = 4 Caption = 'Use AxisTransform' OnChange = cbUseAxisTransformChange TabOrder = 2 end object edDataCount: TSpinEdit AnchorSideLeft.Control = lblDataCount AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = pnCumulNormDistr Left = 268 Height = 23 Top = 8 Width = 82 BorderSpacing.Left = 8 BorderSpacing.Top = 8 Increment = 50 MaxValue = 1000000 OnChange = edDataCountChange TabOrder = 3 Value = 300 end object lblDataCount: TLabel AnchorSideLeft.Control = rgRandDistr AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = edDataCount AnchorSideTop.Side = asrCenter Left = 199 Height = 15 Top = 12 Width = 61 BorderSpacing.Left = 16 Caption = 'Data count:' end end end object tsUser: TTabSheet Caption = 'User defined' ClientHeight = 406 ClientWidth = 525 object ChartUser: TChart Left = 0 Height = 406 Top = 0 Width = 525 AxisList = < item Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Orientation = 900 Title.LabelBrush.Style = bsClear end item Grid.Visible = False Intervals.Count = 20 Intervals.MinLength = 20 Intervals.NiceSteps = '0.2|0.25|0.4|0.5|1.0' Intervals.Options = [aipGraphCoords, aipUseCount, aipUseMaxLength, aipUseMinLength, aipUseNiceSteps] Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelBrush.Style = bsClear Transformations = catUser end> Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Title.Text.Strings = ( 'Drag purple line to locally zoom in various axis segments' ) Title.Visible = True Toolset = ChartToolset1 Align = alClient Color = clWindow object ChartUserLineSeries1: TLineSeries AxisIndexX = 1 Source = rcsUser end object ChartUserConstantLine1: TConstantLine AxisIndex = 1 LineStyle = lsVertical Pen.Color = clFuchsia Pen.Width = 2 Position = 20 end end end end object catLog: TChartAxisTransformations Left = 216 Top = 60 object ChartAxisTransformations1LinearAxisTransform2: TLinearAxisTransform Scale = 2 end object ChartAxisTransformations1LogarithmAxisTransform1: TLogarithmAxisTransform Base = 10 end end object catT: TChartAxisTransformations Left = 352 Top = 60 object catTFahrToCel: TLinearAxisTransform Offset = -17.777777777 Scale = 0.5555555555 end object catTAutoScaleAxisTransform1: TAutoScaleAxisTransform Enabled = False end end object rcsTSummer: TRandomChartSource PointsNumber = 20 RandSeed = 114536250 XMax = 2009 XMin = 1990 YMax = 25 Left = 87 Top = 106 end object rcsTWinter: TRandomChartSource PointsNumber = 20 RandSeed = 23453245 XMax = 2009 XMin = 1990 YMax = 20 YMin = -15 Left = 87 Top = 156 end object catTAuto: TChartAxisTransformations Left = 352 Top = 112 object catTAutoAutoScaleAxisTransform1: TAutoScaleAxisTransform Enabled = False end end object csStripes: TChartStyles Styles = < item Brush.Color = 16631498 UsePen = False end item Brush.Color = 12319483 UsePen = False end> Left = 352 Top = 176 end object rcsUser: TRandomChartSource PointsNumber = 100 RandSeed = 1999979507 XMax = 50 YMax = 20 YMin = 10 Left = 87 Top = 208 end object catUser: TChartAxisTransformations Left = 352 Top = 236 object catUserUserDefinedAxisTransform1: TUserDefinedAxisTransform OnAxisToGraph = catUserUserDefinedAxisTransform1AxisToGraph end end object ChartToolset1: TChartToolset Left = 216 Top = 116 object ChartToolset1DataPointDragTool1: TDataPointDragTool Shift = [ssLeft] AffectedSeries = '1' end end object catIndependent1: TChartAxisTransformations Left = 220 Top = 176 object catIndependent1Zoom: TLinearAxisTransform end end object catIndependent2: TChartAxisTransformations Left = 220 Top = 236 object catIndependent2Zoom: TLinearAxisTransform end end object AxLabelSource: TListChartSource Left = 311 Top = 305 end object catCumulNormDistr: TChartAxisTransformations Left = 310 Top = 305 object catCumulNormDistrLinearAxisTransform1: TLinearAxisTransform Enabled = False Scale = 0.01 end object catCumulNormDistrCumulNormDistrAxisTransform1: TCumulNormDistrAxisTransform Enabled = False end end end