TAChart: Add rotated axes demo. Improved layout of the other axis demos.

git-svn-id: trunk@63678 -
This commit is contained in:
wp 2020-08-03 15:13:17 +00:00
parent bf2c904ffb
commit 856c8e9f37
6 changed files with 302 additions and 154 deletions

View File

@ -25,6 +25,9 @@
<Version Value="2"/> <Version Value="2"/>
</PublishOptions> </PublishOptions>
<RunParams> <RunParams>
<local>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T &apos;Lazarus Run Output&apos; -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
<FormatVersion Value="2"/> <FormatVersion Value="2"/>
<Modes Count="1"> <Modes Count="1">
<Mode0 Name="default"> <Mode0 Name="default">
@ -74,9 +77,6 @@
<SmartLinkUnit Value="True"/> <SmartLinkUnit Value="True"/>
</CodeGeneration> </CodeGeneration>
<Linking> <Linking>
<Debugging>
<UseExternalDbgSyms Value="True"/>
</Debugging>
<LinkSmart Value="True"/> <LinkSmart Value="True"/>
<Options> <Options>
<Win32> <Win32>

View File

@ -1,19 +1,19 @@
object Form1: TForm1 object Form1: TForm1
Left = 343 Left = 343
Height = 430 Height = 413
Top = 184 Top = 184
Width = 533 Width = 566
Caption = 'TAChart axis demo' Caption = 'TAChart axis demo'
ClientHeight = 430 ClientHeight = 413
ClientWidth = 533 ClientWidth = 566
OnCreate = FormCreate OnCreate = FormCreate
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '2.1.0.0' LCLVersion = '2.1.0.0'
object PageControl1: TPageControl object PageControl1: TPageControl
Left = 0 Left = 0
Height = 430 Height = 413
Top = 0 Top = 0
Width = 533 Width = 566
ActivePage = tsCustomMarks ActivePage = tsCustomMarks
Align = alClient Align = alClient
TabIndex = 0 TabIndex = 0
@ -21,13 +21,13 @@ object Form1: TForm1
Options = [nboKeyboardTabSwitch] Options = [nboKeyboardTabSwitch]
object tsCustomMarks: TTabSheet object tsCustomMarks: TTabSheet
Caption = 'Customized marks' Caption = 'Customized marks'
ClientHeight = 402 ClientHeight = 385
ClientWidth = 525 ClientWidth = 558
object ChartCustomMarks: TChart object ChartCustomMarks: TChart
Left = 0 Left = 0
Height = 402 Height = 385
Top = 0 Top = 0
Width = 525 Width = 558
AxisList = < AxisList = <
item item
TickLength = 0 TickLength = 0
@ -92,13 +92,13 @@ object Form1: TForm1
end end
object tsAxisGroup: TTabSheet object tsAxisGroup: TTabSheet
Caption = 'Axis groups' Caption = 'Axis groups'
ClientHeight = 402 ClientHeight = 385
ClientWidth = 525 ClientWidth = 558
object ChartAxisGroup: TChart object ChartAxisGroup: TChart
Left = 0 Left = 0
Height = 402 Height = 385
Top = 0 Top = 0
Width = 525 Width = 558
AxisList = < AxisList = <
item item
Grid.Visible = False Grid.Visible = False
@ -127,13 +127,13 @@ object Form1: TForm1
end end
object tsSubmarks: TTabSheet object tsSubmarks: TTabSheet
Caption = 'Submarks' Caption = 'Submarks'
ClientHeight = 402 ClientHeight = 385
ClientWidth = 525 ClientWidth = 558
object ChartSubmarks: TChart object ChartSubmarks: TChart
Left = 0 Left = 0
Height = 402 Height = 385
Top = 0 Top = 0
Width = 525 Width = 558
AxisList = < AxisList = <
item item
TickLength = 6 TickLength = 6
@ -195,13 +195,13 @@ object Form1: TForm1
end end
object tsDateTime: TTabSheet object tsDateTime: TTabSheet
Caption = 'Date and time' Caption = 'Date and time'
ClientHeight = 402 ClientHeight = 385
ClientWidth = 525 ClientWidth = 558
object ChartDateTime: TChart object ChartDateTime: TChart
Left = 0 Left = 0
Height = 368 Height = 350
Top = 0 Top = 0
Width = 525 Width = 558
AxisList = < AxisList = <
item item
Marks.LabelBrush.Style = bsClear Marks.LabelBrush.Style = bsClear
@ -235,20 +235,28 @@ object Form1: TForm1
end end
end end
object Panel1: TPanel object Panel1: TPanel
AnchorSideTop.Side = asrCenter
Left = 0 Left = 0
Height = 34 Height = 35
Top = 368 Top = 350
Width = 525 Width = 558
Align = alBottom Align = alBottom
AutoSize = True
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 34 ClientHeight = 35
ClientWidth = 525 ClientWidth = 558
TabOrder = 1 TabOrder = 1
object CbSuppressPrevUnit: TCheckBox object CbSuppressPrevUnit: TCheckBox
Left = 11 AnchorSideLeft.Control = Panel1
AnchorSideTop.Control = Panel1
AnchorSideTop.Side = asrCenter
Left = 8
Height = 19 Height = 19
Top = 8 Top = 8
Width = 139 Width = 139
BorderSpacing.Left = 8
BorderSpacing.Top = 8
BorderSpacing.Bottom = 8
Caption = 'Suppress previous unit' Caption = 'Suppress previous unit'
Checked = True Checked = True
OnChange = CbSuppressPrevUnitChange OnChange = CbSuppressPrevUnitChange
@ -256,19 +264,29 @@ object Form1: TForm1
TabOrder = 0 TabOrder = 0
end end
object CbAlternateFormat: TCheckBox object CbAlternateFormat: TCheckBox
Left = 195 AnchorSideLeft.Control = CbSuppressPrevUnit
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
AnchorSideTop.Side = asrCenter
Left = 163
Height = 19 Height = 19
Top = 8 Top = 8
Width = 145 Width = 145
BorderSpacing.Left = 16
Caption = 'Alternate format strings' Caption = 'Alternate format strings'
OnChange = CbAlternateFormatChange OnChange = CbAlternateFormatChange
TabOrder = 1 TabOrder = 1
end end
object Label1: TLabel object Label1: TLabel
Left = 393 AnchorSideLeft.Control = CbAlternateFormat
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
AnchorSideTop.Side = asrCenter
Left = 332
Height = 15 Height = 15
Top = 10 Top = 10
Width = 34 Width = 34
BorderSpacing.Left = 24
Caption = 'Label1' Caption = 'Label1'
ParentColor = False ParentColor = False
end end
@ -384,18 +402,19 @@ object Form1: TForm1
end end
object tsPosition: TTabSheet object tsPosition: TTabSheet
Caption = 'Position' Caption = 'Position'
ClientHeight = 402 ClientHeight = 385
ClientWidth = 525 ClientWidth = 558
object ChartPosition: TChart object ChartPosition: TChart
Left = 0 Left = 0
Height = 402 Height = 385
Top = 0 Top = 0
Width = 384 Width = 389
AxisList = < AxisList = <
item item
Grid.Visible = False Grid.Visible = False
Intervals.Tolerance = 1 Intervals.Tolerance = 1
AxisPen.Visible = True AxisPen.Visible = True
Marks.LabelBrush.Style = bsClear
Minors = <> Minors = <>
Position = 50 Position = 50
Title.LabelBrush.Style = bsClear Title.LabelBrush.Style = bsClear
@ -405,6 +424,7 @@ object Form1: TForm1
Intervals.Tolerance = 1 Intervals.Tolerance = 1
Alignment = calBottom Alignment = calBottom
AxisPen.Visible = True AxisPen.Visible = True
Marks.LabelBrush.Style = bsClear
Minors = <> Minors = <>
Position = 50 Position = 50
Title.LabelBrush.Style = bsClear Title.LabelBrush.Style = bsClear
@ -452,24 +472,26 @@ object Form1: TForm1
end end
end end
object pnlPosition: TPanel object pnlPosition: TPanel
Left = 384 Left = 389
Height = 402 Height = 385
Top = 0 Top = 0
Width = 141 Width = 169
Align = alRight Align = alRight
ClientHeight = 402 BevelOuter = bvNone
ClientWidth = 141 ClientHeight = 385
ClientWidth = 169
TabOrder = 1 TabOrder = 1
object gbPositionX: TGroupBox object gbPositionX: TGroupBox
Left = 1 Left = 0
Height = 124 Height = 124
Top = 1 Top = 0
Width = 139 Width = 163
Align = alTop Align = alTop
AutoSize = True AutoSize = True
BorderSpacing.Right = 6
Caption = ' X axis ' Caption = ' X axis '
ClientHeight = 104 ClientHeight = 104
ClientWidth = 135 ClientWidth = 159
TabOrder = 0 TabOrder = 0
object seXPosition: TSpinEdit object seXPosition: TSpinEdit
AnchorSideLeft.Control = lblPositionX AnchorSideLeft.Control = lblPositionX
@ -480,7 +502,7 @@ object Form1: TForm1
Left = 62 Left = 62
Height = 23 Height = 23
Top = 0 Top = 0
Width = 65 Width = 89
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 8 BorderSpacing.Left = 8
BorderSpacing.Right = 8 BorderSpacing.Right = 8
@ -561,7 +583,7 @@ object Form1: TForm1
Left = 62 Left = 62
Height = 23 Height = 23
Top = 27 Top = 27
Width = 65 Width = 89
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 4 BorderSpacing.Top = 4
ItemHeight = 15 ItemHeight = 15
@ -579,16 +601,17 @@ object Form1: TForm1
end end
end end
object gbPositionY: TGroupBox object gbPositionY: TGroupBox
Left = 1 Left = 0
Height = 124 Height = 124
Top = 133 Top = 132
Width = 139 Width = 163
Align = alTop Align = alTop
AutoSize = True AutoSize = True
BorderSpacing.Top = 8 BorderSpacing.Top = 8
BorderSpacing.Right = 6
Caption = ' Y axis ' Caption = ' Y axis '
ClientHeight = 104 ClientHeight = 104
ClientWidth = 135 ClientWidth = 159
TabOrder = 1 TabOrder = 1
object lblPositionY: TLabel object lblPositionY: TLabel
AnchorSideLeft.Control = gbPositionY AnchorSideLeft.Control = gbPositionY
@ -624,7 +647,7 @@ object Form1: TForm1
Left = 62 Left = 62
Height = 23 Height = 23
Top = 0 Top = 0
Width = 65 Width = 89
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 8 BorderSpacing.Left = 8
BorderSpacing.Right = 8 BorderSpacing.Right = 8
@ -669,7 +692,7 @@ object Form1: TForm1
Left = 62 Left = 62
Height = 23 Height = 23
Top = 27 Top = 27
Width = 65 Width = 89
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 4 BorderSpacing.Top = 4
ItemHeight = 15 ItemHeight = 15
@ -698,6 +721,71 @@ object Form1: TForm1
end end
end end
end end
object TabSheet1: TTabSheet
Caption = 'Rotated'
ClientHeight = 385
ClientWidth = 558
object ChartRotated: TChart
Left = 0
Height = 349
Top = 0
Width = 558
AxisList = <
item
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelFont.Orientation = 900
Title.LabelBrush.Style = bsClear
end
item
Alignment = calBottom
Marks.Format = '%2:s'
Marks.LabelBrush.Style = bsClear
Marks.Source = lcsRotatedSeries
Marks.Style = smsLabel
Minors = <>
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
object ChartRotatedBarSeries: TBarSeries
BarBrush.Color = clRed
Source = lcsRotatedSeries
Styles = ChartStyles1
end
end
object Panel2: TPanel
Left = 0
Height = 36
Top = 349
Width = 558
Align = alBottom
AutoSize = True
BevelOuter = bvNone
ClientHeight = 36
ClientWidth = 558
TabOrder = 1
object cbRotated: TCheckBox
AnchorSideLeft.Control = Panel2
AnchorSideTop.Control = Panel2
AnchorSideTop.Side = asrCenter
Left = 8
Height = 19
Top = 9
Width = 61
BorderSpacing.Around = 8
Caption = 'Rotated'
OnChange = cbRotatedChange
TabOrder = 0
end
end
end
end end
object lcsMarks: TListChartSource object lcsMarks: TListChartSource
DataPoints.Strings = ( DataPoints.Strings = (
@ -708,17 +796,15 @@ object Form1: TForm1
'5|37000|?|May' '5|37000|?|May'
'6|22000|?|June' '6|22000|?|June'
) )
left = 216 Left = 216
top = 164 Top = 164
end end
object rcsDates: TRandomChartSource object rcsDates: TRandomChartSource
RandSeed = 1079653020 RandSeed = 1079653020
XMax = 0
XMin = 0
YMax = 50 YMax = 50
YMin = 5 YMin = 5
left = 216 Left = 216
top = 216 Top = 216
end end
object DateTimeIntervalChartSource1: TDateTimeIntervalChartSource object DateTimeIntervalChartSource1: TDateTimeIntervalChartSource
Params.Count = 10 Params.Count = 10
@ -726,12 +812,12 @@ object Form1: TForm1
Params.MinLength = 20 Params.MinLength = 20
Params.Options = [aipUseCount, aipUseMaxLength, aipUseMinLength, aipUseNiceSteps] Params.Options = [aipUseCount, aipUseMaxLength, aipUseMinLength, aipUseNiceSteps]
OnDateTimeStepChange = DateTimeIntervalChartSource1DateTimeStepChange OnDateTimeStepChange = DateTimeIntervalChartSource1DateTimeStepChange
left = 248 Left = 248
top = 320 Top = 320
end end
object ChartToolsetDateTime: TChartToolset object ChartToolsetDateTime: TChartToolset
left = 448 Left = 448
top = 320 Top = 320
object ChartToolset1ZoomIn: TZoomClickTool object ChartToolset1ZoomIn: TZoomClickTool
Shift = [ssLeft] Shift = [ssLeft]
ZoomFactor = 4 ZoomFactor = 4
@ -746,20 +832,20 @@ object Form1: TForm1
object udcsMain: TUserDefinedChartSource object udcsMain: TUserDefinedChartSource
OnGetChartDataItem = udcsMainGetChartDataItem OnGetChartDataItem = udcsMainGetChartDataItem
PointsNumber = 10 PointsNumber = 10
left = 344 Left = 344
top = 72 Top = 72
end end
object udcsSub: TUserDefinedChartSource object udcsSub: TUserDefinedChartSource
OnGetChartDataItem = udcsSubGetChartDataItem OnGetChartDataItem = udcsSubGetChartDataItem
PointsNumber = 50 PointsNumber = 50
left = 344 Left = 344
top = 116 Top = 116
end end
object udcsGraph: TUserDefinedChartSource object udcsGraph: TUserDefinedChartSource
OnGetChartDataItem = udcsGraphGetChartDataItem OnGetChartDataItem = udcsGraphGetChartDataItem
PointsNumber = 100 PointsNumber = 100
left = 352 Left = 352
top = 184 Top = 184
end end
object csStripes: TChartStyles object csStripes: TChartStyles
Styles = < Styles = <
@ -771,7 +857,33 @@ object Form1: TForm1
Brush.Color = 12319483 Brush.Color = 12319483
UsePen = False UsePen = False
end> end>
left = 304 Left = 304
top = 176 Top = 176
end
object lcsRotatedSeries: TListChartSource
DataPoints.Strings = (
'1|104|53|62|?|A'
'2|243|47|51|?|B'
'3|405|51|26|?|C'
'4|156|68|28|?|D'
'5|364|16|35|?|E'
)
YCount = 3
Left = 468
Top = 35
end
object ChartStyles1: TChartStyles
Styles = <
item
Brush.Color = clRed
end
item
Brush.Color = clYellow
end
item
Brush.Color = clGreen
end>
Left = 468
Top = 88
end end
end end

View File

@ -20,6 +20,7 @@ type
catTFahrToCel: TLinearAxisTransform; catTFahrToCel: TLinearAxisTransform;
cbStaticY: TCheckBox; cbStaticY: TCheckBox;
cbUnitsY: TComboBox; cbUnitsY: TComboBox;
ChartRotated: TChart;
ChartPosition: TChart; ChartPosition: TChart;
ChartIntervals: TChart; ChartIntervals: TChart;
ChartAxisGroup: TChart; ChartAxisGroup: TChart;
@ -28,6 +29,8 @@ type
ChartDateTime: TChart; ChartDateTime: TChart;
ChartDateTimeLineSeries1: TLineSeries; ChartDateTimeLineSeries1: TLineSeries;
ChartPositionFuncSeries1: TFuncSeries; ChartPositionFuncSeries1: TFuncSeries;
ChartRotatedBarSeries: TBarSeries;
ChartStyles1: TChartStyles;
ChartSubmarks: TChart; ChartSubmarks: TChart;
ChartSubmarksLineSeries1: TLineSeries; ChartSubmarksLineSeries1: TLineSeries;
ChartToolset1ZoomIn: TZoomClickTool; ChartToolset1ZoomIn: TZoomClickTool;
@ -37,6 +40,7 @@ type
cbUnitsX: TComboBox; cbUnitsX: TComboBox;
CbSuppressPrevUnit: TCheckBox; CbSuppressPrevUnit: TCheckBox;
CbAlternateFormat: TCheckBox; CbAlternateFormat: TCheckBox;
cbRotated: TCheckBox;
csStripes: TChartStyles; csStripes: TChartStyles;
DateTimeIntervalChartSource1: TDateTimeIntervalChartSource; DateTimeIntervalChartSource1: TDateTimeIntervalChartSource;
gbPositionX: TGroupBox; gbPositionX: TGroupBox;
@ -47,8 +51,10 @@ type
lblPositionY: TLabel; lblPositionY: TLabel;
lblUnitsY: TLabel; lblUnitsY: TLabel;
lcsMarks: TListChartSource; lcsMarks: TListChartSource;
lcsRotatedSeries: TListChartSource;
PageControl1: TPageControl; PageControl1: TPageControl;
Panel1: TPanel; Panel1: TPanel;
Panel2: TPanel;
pnlPosition: TPanel; pnlPosition: TPanel;
rbPositionBottom: TRadioButton; rbPositionBottom: TRadioButton;
rbPositionLeft: TRadioButton; rbPositionLeft: TRadioButton;
@ -57,6 +63,7 @@ type
rcsDates: TRandomChartSource; rcsDates: TRandomChartSource;
seXPosition: TSpinEdit; seXPosition: TSpinEdit;
seYPosition: TSpinEdit; seYPosition: TSpinEdit;
TabSheet1: TTabSheet;
tsPosition: TTabSheet; tsPosition: TTabSheet;
tsIntervals: TTabSheet; tsIntervals: TTabSheet;
tsAxisGroup: TTabSheet; tsAxisGroup: TTabSheet;
@ -66,6 +73,7 @@ type
udcsGraph: TUserDefinedChartSource; udcsGraph: TUserDefinedChartSource;
udcsMain: TUserDefinedChartSource; udcsMain: TUserDefinedChartSource;
udcsSub: TUserDefinedChartSource; udcsSub: TUserDefinedChartSource;
procedure cbRotatedChange(Sender: TObject);
procedure cbStaticXChange(Sender: TObject); procedure cbStaticXChange(Sender: TObject);
procedure cbStaticYChange(Sender: TObject); procedure cbStaticYChange(Sender: TObject);
procedure CbSuppressPrevUnitChange(Sender: TObject); procedure CbSuppressPrevUnitChange(Sender: TObject);
@ -107,6 +115,32 @@ begin
ChartPosition.AxisList[3].Visible := cbStaticX.Checked; ChartPosition.AxisList[3].Visible := cbStaticX.Checked;
end; end;
procedure TForm1.cbRotatedChange(Sender: TObject);
begin
if cbRotated.Checked then
begin
ChartRotatedBarSeries.AxisIndexX := 0;
ChartRotatedBarSeries.AxisIndexY := 1;
ChartRotated.BottomAxis.Marks.Source := nil;
ChartRotated.BottomAxis.Marks.Style := smsValue;
ChartRotated.LeftAxis.Marks.Source := lcsRotatedSeries;
ChartRotated.LeftAxis.Marks.Style := smsLabel;
end else
begin
ChartRotatedBarSeries.AxisIndexX := 1;
ChartRotatedBarSeries.AxisIndexY := 0;
ChartRotated.LeftAxis.Marks.Source := nil;
ChartRotated.LeftAxis.Marks.Style := smsValue;
ChartRotated.BottomAxis.Marks.Source := lcsRotatedSeries;
ChartRotated.BottomAxis.Marks.Style := smsLabel;
end;
// This exchanges the x/y value of the source for the marks being displayed
// along the axis. This is necessary because the axis does not "know" that
// the series uses rotated x/y values.
ChartRotated.LeftAxis.Marks.SourceExchangeXY := cbRotated.Checked;
end;
procedure TForm1.cbStaticYChange(Sender: TObject); procedure TForm1.cbStaticYChange(Sender: TObject);
begin begin
ChartPosition.AxisList[2].Visible := cbStaticY.Checked; ChartPosition.AxisList[2].Visible := cbStaticY.Checked;

View File

@ -445,11 +445,9 @@ object Form1: TForm1
PointsNumber = 10 PointsNumber = 10
RandSeed = 1952997387 RandSeed = 1952997387
XMax = 1 XMax = 1
XMin = 0
YMax = 1 YMax = 1
YMin = 0 Left = 264
left = 264 Top = 272
top = 272
end end
object RandomChartSource2: TRandomChartSource object RandomChartSource2: TRandomChartSource
PointsNumber = 20 PointsNumber = 20
@ -457,8 +455,7 @@ object Form1: TForm1
XMax = 1000 XMax = 1000
XMin = -1000 XMin = -1000
YMax = 1000000 YMax = 1000000
YMin = 0 Left = 392
left = 392 Top = 272
top = 272
end end
end end

View File

@ -25,6 +25,9 @@
<Version Value="2"/> <Version Value="2"/>
</PublishOptions> </PublishOptions>
<RunParams> <RunParams>
<local>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T &apos;Lazarus Run Output&apos; -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
<FormatVersion Value="2"/> <FormatVersion Value="2"/>
<Modes Count="1"> <Modes Count="1">
<Mode0 Name="default"> <Mode0 Name="default">

View File

@ -14,9 +14,9 @@ object Form1: TForm1
Height = 434 Height = 434
Top = 0 Top = 0
Width = 533 Width = 533
ActivePage = tsUser ActivePage = tsLinear
Align = alClient Align = alClient
TabIndex = 4 TabIndex = 0
TabOrder = 0 TabOrder = 0
object tsLinear: TTabSheet object tsLinear: TTabSheet
Caption = 'Linear' Caption = 'Linear'
@ -24,7 +24,7 @@ object Form1: TForm1
ClientWidth = 525 ClientWidth = 525
object ChartT: TChart object ChartT: TChart
Left = 0 Left = 0
Height = 379 Height = 371
Top = 0 Top = 0
Width = 525 Width = 525
AxisList = < AxisList = <
@ -102,25 +102,26 @@ object Form1: TForm1
end end
object pnlAutoControls: TPanel object pnlAutoControls: TPanel
Left = 0 Left = 0
Height = 27 Height = 35
Top = 379 Top = 371
Width = 525 Width = 525
Align = alBottom Align = alBottom
AutoSize = True AutoSize = True
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 27 ClientHeight = 35
ClientWidth = 525 ClientWidth = 525
TabOrder = 1 TabOrder = 1
object cbAuto: TCheckBox object cbAuto: TCheckBox
AnchorSideLeft.Control = pnlAutoControls AnchorSideLeft.Control = pnlAutoControls
AnchorSideTop.Control = pnlAutoControls AnchorSideTop.Control = pnlAutoControls
Left = 4 AnchorSideTop.Side = asrCenter
Left = 8
Height = 19 Height = 19
Top = 4 Top = 8
Width = 75 Width = 75
BorderSpacing.Left = 4 BorderSpacing.Left = 8
BorderSpacing.Top = 4 BorderSpacing.Top = 8
BorderSpacing.Bottom = 4 BorderSpacing.Bottom = 8
Caption = 'Auto scale' Caption = 'Auto scale'
OnChange = cbAutoChange OnChange = cbAutoChange
TabOrder = 0 TabOrder = 0
@ -133,7 +134,7 @@ object Form1: TForm1
ClientWidth = 525 ClientWidth = 525
object ChartIndependent: TChart object ChartIndependent: TChart
Left = 0 Left = 0
Height = 351 Height = 347
Top = 0 Top = 0
Width = 525 Width = 525
AxisList = < AxisList = <
@ -192,14 +193,14 @@ object Form1: TForm1
end end
object pnlIndependentControls: TPanel object pnlIndependentControls: TPanel
Left = 4 Left = 4
Height = 47 Height = 51
Top = 355 Top = 351
Width = 517 Width = 517
Align = alBottom Align = alBottom
AutoSize = True AutoSize = True
BorderSpacing.Around = 4 BorderSpacing.Around = 4
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 47 ClientHeight = 51
ClientWidth = 517 ClientWidth = 517
TabOrder = 1 TabOrder = 1
object fseIndependent1: TFloatSpinEdit object fseIndependent1: TFloatSpinEdit
@ -209,7 +210,7 @@ object Form1: TForm1
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 63 Left = 63
Height = 23 Height = 23
Top = 12 Top = 14
Width = 70 Width = 70
BorderSpacing.Left = 8 BorderSpacing.Left = 8
Increment = 0.1 Increment = 0.1
@ -226,7 +227,7 @@ object Form1: TForm1
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 196 Left = 196
Height = 23 Height = 23
Top = 12 Top = 14
Width = 70 Width = 70
BorderSpacing.Left = 8 BorderSpacing.Left = 8
Increment = 0.1 Increment = 0.1
@ -242,7 +243,7 @@ object Form1: TForm1
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 16 Left = 16
Height = 15 Height = 15
Top = 16 Top = 18
Width = 39 Width = 39
BorderSpacing.Left = 16 BorderSpacing.Left = 16
Caption = 'Scale 1' Caption = 'Scale 1'
@ -258,7 +259,7 @@ object Form1: TForm1
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 149 Left = 149
Height = 15 Height = 15
Top = 16 Top = 18
Width = 39 Width = 39
BorderSpacing.Left = 16 BorderSpacing.Left = 16
Caption = 'Scale 2' Caption = 'Scale 2'
@ -269,16 +270,17 @@ object Form1: TForm1
end end
object rgSyncAxisMarks: TRadioGroup object rgSyncAxisMarks: TRadioGroup
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 336 Left = 324
Height = 47 Height = 51
Top = 0 Top = 0
Width = 181 Width = 193
Align = alRight Align = alRight
AutoFill = True AutoFill = True
AutoSize = True AutoSize = True
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = ' Synchronize marks ' Caption = ' Synchronize marks '
ChildSizing.LeftRightSpacing = 6 ChildSizing.LeftRightSpacing = 12
ChildSizing.TopBottomSpacing = 2
ChildSizing.HorizontalSpacing = 10 ChildSizing.HorizontalSpacing = 10
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize ChildSizing.EnlargeVertical = crsHomogenousChildResize
@ -286,8 +288,8 @@ object Form1: TForm1
ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 3 ChildSizing.ControlsPerLine = 3
ClientHeight = 27 ClientHeight = 31
ClientWidth = 177 ClientWidth = 189
Columns = 3 Columns = 3
ItemIndex = 1 ItemIndex = 1
Items.Strings = ( Items.Strings = (
@ -306,7 +308,7 @@ object Form1: TForm1
ClientWidth = 525 ClientWidth = 525
object ChartLog: TChart object ChartLog: TChart
Left = 0 Left = 0
Height = 375 Height = 367
Top = 0 Top = 0
Width = 525 Width = 525
AxisList = < AxisList = <
@ -385,16 +387,16 @@ object Form1: TForm1
end end
end end
object pnlLogControls: TPanel object pnlLogControls: TPanel
Left = 4 Left = 8
Height = 23 Height = 23
Top = 379 Top = 375
Width = 517 Width = 509
Align = alBottom Align = alBottom
AutoSize = True AutoSize = True
BorderSpacing.Around = 4 BorderSpacing.Around = 8
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 23 ClientHeight = 23
ClientWidth = 517 ClientWidth = 509
TabOrder = 1 TabOrder = 1
object cbLog: TCheckBox object cbLog: TCheckBox
AnchorSideLeft.Control = pnlLogControls AnchorSideLeft.Control = pnlLogControls
@ -443,8 +445,8 @@ object Form1: TForm1
ClientWidth = 525 ClientWidth = 525
object ChartCumulNormDistr: TChart object ChartCumulNormDistr: TChart
Left = 0 Left = 0
Height = 340 Height = 324
Top = 66 Top = 82
Width = 525 Width = 525
AxisList = < AxisList = <
item item
@ -504,35 +506,37 @@ object Form1: TForm1
end end
object pnCumulNormDistr: TPanel object pnCumulNormDistr: TPanel
Left = 0 Left = 0
Height = 66 Height = 82
Top = 0 Top = 0
Width = 525 Width = 525
Align = alTop Align = alTop
AutoSize = True AutoSize = True
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 66 ClientHeight = 82
ClientWidth = 525 ClientWidth = 525
TabOrder = 1 TabOrder = 1
object rgRandDistr: TRadioGroup object rgRandDistr: TRadioGroup
Left = 4 AnchorSideLeft.Control = pnCumulNormDistr
Height = 58 AnchorSideTop.Control = pnCumulNormDistr
Top = 4 Left = 8
Height = 66
Top = 8
Width = 175 Width = 175
Align = alLeft
AutoFill = True AutoFill = True
AutoSize = True AutoSize = True
BorderSpacing.Left = 4 BorderSpacing.Left = 8
BorderSpacing.Top = 4 BorderSpacing.Top = 8
BorderSpacing.Bottom = 4 BorderSpacing.Bottom = 8
Caption = ' Random number generation ' Caption = ' Random number generation '
ChildSizing.LeftRightSpacing = 12 ChildSizing.LeftRightSpacing = 12
ChildSizing.TopBottomSpacing = 4
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1 ChildSizing.ControlsPerLine = 1
ClientHeight = 38 ClientHeight = 46
ClientWidth = 171 ClientWidth = 171
ItemIndex = 1 ItemIndex = 1
Items.Strings = ( Items.Strings = (
@ -547,7 +551,7 @@ object Form1: TForm1
AnchorSideLeft.Control = lblDataCount AnchorSideLeft.Control = lblDataCount
AnchorSideTop.Control = edDataCount AnchorSideTop.Control = edDataCount
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 195 Left = 199
Height = 19 Height = 19
Top = 39 Top = 39
Width = 60 Width = 60
@ -559,7 +563,7 @@ object Form1: TForm1
object cbUseAxisTransform: TCheckBox object cbUseAxisTransform: TCheckBox
AnchorSideLeft.Control = edDataCount AnchorSideLeft.Control = edDataCount
AnchorSideTop.Control = cbPercent AnchorSideTop.Control = cbPercent
Left = 264 Left = 268
Height = 19 Height = 19
Top = 39 Top = 39
Width = 118 Width = 118
@ -572,7 +576,7 @@ object Form1: TForm1
AnchorSideLeft.Control = lblDataCount AnchorSideLeft.Control = lblDataCount
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pnCumulNormDistr AnchorSideTop.Control = pnCumulNormDistr
Left = 264 Left = 268
Height = 23 Height = 23
Top = 8 Top = 8
Width = 82 Width = 82
@ -589,7 +593,7 @@ object Form1: TForm1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = edDataCount AnchorSideTop.Control = edDataCount
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 195 Left = 199
Height = 15 Height = 15
Top = 12 Top = 12
Width = 61 Width = 61
@ -652,8 +656,8 @@ object Form1: TForm1
end end
end end
object catLog: TChartAxisTransformations object catLog: TChartAxisTransformations
left = 216 Left = 216
top = 60 Top = 60
object ChartAxisTransformations1LinearAxisTransform2: TLinearAxisTransform object ChartAxisTransformations1LinearAxisTransform2: TLinearAxisTransform
Scale = 2 Scale = 2
end end
@ -662,8 +666,8 @@ object Form1: TForm1
end end
end end
object catT: TChartAxisTransformations object catT: TChartAxisTransformations
left = 352 Left = 352
top = 60 Top = 60
object catTFahrToCel: TLinearAxisTransform object catTFahrToCel: TLinearAxisTransform
Offset = -17.777777777 Offset = -17.777777777
Scale = 0.5555555555 Scale = 0.5555555555
@ -678,9 +682,8 @@ object Form1: TForm1
XMax = 2009 XMax = 2009
XMin = 1990 XMin = 1990
YMax = 25 YMax = 25
YMin = 0 Left = 87
left = 87 Top = 106
top = 106
end end
object rcsTWinter: TRandomChartSource object rcsTWinter: TRandomChartSource
PointsNumber = 20 PointsNumber = 20
@ -689,12 +692,12 @@ object Form1: TForm1
XMin = 1990 XMin = 1990
YMax = 20 YMax = 20
YMin = -15 YMin = -15
left = 87 Left = 87
top = 156 Top = 156
end end
object catTAuto: TChartAxisTransformations object catTAuto: TChartAxisTransformations
left = 352 Left = 352
top = 112 Top = 112
object catTAutoAutoScaleAxisTransform1: TAutoScaleAxisTransform object catTAutoAutoScaleAxisTransform1: TAutoScaleAxisTransform
Enabled = False Enabled = False
end end
@ -709,53 +712,52 @@ object Form1: TForm1
Brush.Color = 12319483 Brush.Color = 12319483
UsePen = False UsePen = False
end> end>
left = 352 Left = 352
top = 176 Top = 176
end end
object rcsUser: TRandomChartSource object rcsUser: TRandomChartSource
PointsNumber = 100 PointsNumber = 100
RandSeed = 1999979507 RandSeed = 1999979507
XMax = 50 XMax = 50
XMin = 0
YMax = 20 YMax = 20
YMin = 10 YMin = 10
left = 87 Left = 87
top = 208 Top = 208
end end
object catUser: TChartAxisTransformations object catUser: TChartAxisTransformations
left = 352 Left = 352
top = 236 Top = 236
object catUserUserDefinedAxisTransform1: TUserDefinedAxisTransform object catUserUserDefinedAxisTransform1: TUserDefinedAxisTransform
OnAxisToGraph = catUserUserDefinedAxisTransform1AxisToGraph OnAxisToGraph = catUserUserDefinedAxisTransform1AxisToGraph
end end
end end
object ChartToolset1: TChartToolset object ChartToolset1: TChartToolset
left = 216 Left = 216
top = 116 Top = 116
object ChartToolset1DataPointDragTool1: TDataPointDragTool object ChartToolset1DataPointDragTool1: TDataPointDragTool
Shift = [ssLeft] Shift = [ssLeft]
AffectedSeries = '1' AffectedSeries = '1'
end end
end end
object catIndependent1: TChartAxisTransformations object catIndependent1: TChartAxisTransformations
left = 220 Left = 220
top = 176 Top = 176
object catIndependent1Zoom: TLinearAxisTransform object catIndependent1Zoom: TLinearAxisTransform
end end
end end
object catIndependent2: TChartAxisTransformations object catIndependent2: TChartAxisTransformations
left = 220 Left = 220
top = 236 Top = 236
object catIndependent2Zoom: TLinearAxisTransform object catIndependent2Zoom: TLinearAxisTransform
end end
end end
object AxLabelSource: TListChartSource object AxLabelSource: TListChartSource
left = 311 Left = 311
top = 305 Top = 305
end end
object catCumulNormDistr: TChartAxisTransformations object catCumulNormDistr: TChartAxisTransformations
left = 310 Left = 310
top = 305 Top = 305
object catCumulNormDistrLinearAxisTransform1: TLinearAxisTransform object catCumulNormDistrLinearAxisTransform1: TLinearAxisTransform
Enabled = False Enabled = False
Scale = 0.01 Scale = 0.01