topic "1 Overview";
[ $$0,0#00000000000000000000000000000000:Default]
[{_}%EN-US 
[s0; [*R+184 ScatterDraw Overview]&]
[s0;2 &]
[s0; [2 ScatterCtrl`_Demo package does a visual review of ][^topic`:`/`/ScatterDraw`/src`/ScatterDraw`$en`-us^2 S
catterDraw][2  and ][^topic`:`/`/ScatterCtrl`/src`/ScatterCtrl`$en`-us^2 ScatterCtrl][2  
class features. Here there are some screenshots:]&]
[s0;2 &]
[s0;2 &]
[s0;i150;O0; [*2 General view]&]
[s0;2%- &]
[ {{4561:5439f0;g0;^ [s0;# [2 Demo program contains control samples listed in left table.]&]
[s0;#2 &]
[s0;# [2 All of them have different export possibilities like:]&]
[s0;#i150;O0; [2 Print Preview]&]
[s0;#i150;O0; [2 Export as PNG]&]
[s0;#i150;O0; [2 Export as JPEG]&]
[s0;#i150;O0; [2 Export as EMF]&]
[s0;#i150;O0; [2 Copy to Clipboard]&]
[s0;#2 &]
[s0;# [2 ScatterCtrl uses Painter or Draw as selected in Painting Mode.]]
::= [s0;= [*R2 
@@image:2386&1548
([encoded data, 69044 characters])
]]}}&]
[s0;2 &]
[s0;2 &]
[s0;i150;O0; [*2 Basic Test]&]
[s0;2%- &]
[ {{4548:5452f0;g0;^ [s0;# [2 ScatterDraw lets to show different data series changing various 
parameters like color, line width or dot style.]]
::= [s0;= [*R2 
@@image:2075&1605
([encoded data, 30088 characters])
]]}}&]
[s0;2 &]
[s0;2 &]
[s0;i150;O0; [*2 Functions]&]
[s0;2%- &]
[ {{4548:5452f0;g0;^ [s0;# [2 Using PlotFunction() it is possible to directly draw functions 
instead of just stored data. ]]
::= [s0;= [*R2 
@@image:2106&1633
([encoded data, 25588 characters])
]]}}&]
[s0;2 &]
[s0;2 &]
[s0;i150;O0; [*2 Parametric Functions]&]
[s0;2%- &]
[ {{4548:5452f0;g0;^ [s0;# [2 While PlotFunction() functions just return the vertical axis, 
PlotParaFunction() functions return the XY coordinates of every 
point.]&]
[s0;#2 &]
[s0;# [2 This options lets full freedom inserting XY series.]]
::= [s0;= [*R2 
@@image:2110&1645
([encoded data, 62080 characters])
]]}}&]
[s0;2 &]
[s0;*2 &]
[s0;i150;O0; [*2 Formatting]&]
[s0;2%- &]
[ {{4548:5452f0;g0;^ [s0;# [2 ScatterDraw lets to insert X and Y labels, XY scaling and 
range, point format and size and standard or user defined axis 
labels formating.]&]
[s0;#2 &]
[s0;# [2 In addition SetMouseHandling(true) lets to use the mouse to 
zoom and move the graphs in X axis.]]
::= [s0;= [*R2 
@@image:2090&1625
([encoded data, 37800 characters])
]]}}&]
[s0;2 &]
[s0;2 &]
[s0;i150;O0; [*2 Dynamic]&]
[s0;2%- &]
[ {{4548:5452f0;g0;^ [s0;# [2 ScatterCtrl is not a static control and it easily lets to 
include moving series.]]
::= [s0;= [*R2 
@@image:2090&1550
([encoded data, 27172 characters])
]]}}&]
[s0;2 &]
[s0;2 &]
[s0;i150;O0; [*2 Logarithmic]&]
[s0;2%- &]
[ {{4548:5452f0;g0;^ [s0;# [2 Versatile axis scaling and labeling through cbModifFormatX 
and cbModifFormatY lets to include not only time and date axis 
but also logarithmic ones.]]
::= [s0;= [*R2 
@@image:2087&1594
([encoded data, 19388 characters])
]]}}&]
[s0;2 &]
[s0;2 &]
[s0;i150;O0; [*2 Operations]&]
[s0;2%- &]
[ {{4548:5452f0;g0;^ [s0;# [2 Series dynamic handling is easy. This demo lets the user to 
add and remove series at run time.]]
::= [s0;= [*R2 
@@image:2087&1526
([encoded data, 43484 characters])
]]}}&]
[s0;2 &]
[s0; &]
[s0;i150;O0; [*2 Secondary Y axis]&]
[s0;2%- &]
[ {{4548:5452f0;g0;^ [s0;# [2 It is possible to add a secondary right side vertical Y axis 
and scale data series to it. All secondary axis texts are in 
][/2 italic][2 .]&]
[s0;#2 &]
[s0;# [2 In addition SetMouseHandling(true, true) lets to use the mouse 
to zoom and move the graphs in X and Y axis.]]
::= [s0;= [*R2 
@@image:2090&1633
([encoded data, 49300 characters])
]]}}&]
[s0; &]
[s0; &]
[s0;i150;O0; [*2 Big datasets]&]
[s0;2%- &]
[ {{4548:5452f0;g0;^ [s0;# [2 Big datasets are hard to handle. However there are two functions 
that speed up dramatically ScatterDraw/ScatterCtrl response in 
X axis sequential datasets like time series:]&]
[s0;2 &]
[s0;i150;O0; [2 SetSequentialX: Indicates that the data has been sequentially 
inserted following X axis]&]
[s0;i150;O0; [2 SetFastViewX: Indicates that it will be viewed a point 
per horizontal pixel. This point will be the average of all data 
that is in that pixel]&]
[s0;2 ]
::= [s0;= [*R2 
@@image:2098&1345
([encoded data, 21308 characters])
]]}}&]
[s0; &]
[s0; &]
[s0;i150;O0; [*2 User Graphs]&]
[s0;2%- &]
[ {{4548:5452f0;g0;^ [s0;# [2 It is easy to create new series and mark plotting routines.]&]
[s0;#2 &]
[s0;# [2 This a simple sample of deriving SeriesPlot and MarkPlot into 
new user plotting primitives.]&]
[s0;2 ]
::= [s0;= [*R2 
@@image:2128&1646
([encoded data, 33476 characters])
]]}}&]
[s0; &]
[s0; &]
[s0;i150;O0; [*2 Trend Lines]&]
[s0;2%- &]
[ {{4548:5452f0;g0;^ [s0;# [2 It is possible to fit a user data series into a known equation 
linear (LinearEquation), polynomial (PolynomialEquation), Fourier 
(FourierEquation) or others.]&]
[s0;#2 &]
[s0;# [2 Just declare the equation type and fit it to the data series. 
This equation behaves as any other DataSeries so you can have 
full access to it including adding it to ScatterDraw and ScatterCtrl.]&]
[s0;2 ]
::= [s0;= [*R2 
@@image:2149&1235
([encoded data, 23532 characters])
]]}}&]
[s0; &]
[s0; &]
[s0;i150;O0; [*2 User equation]&]
[s0;2%- &]
[ {{4548:5452f0;g0;^ [s0;# [2 User entered equations by text can be plotted. In addition, 
as they are also Dataset, raw data series can be Fit() to user 
equations.]&]
[s0;#2 &]
[s0;# [2 UserEquation is based on ][^topic`:`/`/ScatterDraw`/src`/EvalExpr`$en`-us^2 Eval
Expr class][2 .]&]
[s0;2 ]
::= [s0;= [*R2 
@@image:1461&1098
([encoded data, 37552 characters])
]]}}&]
[s0; &]
[s0; &]
[s0;i150;O0; [*2 Linked controls]&]
[s0;2%- &]
[ {{4548:5452f0;g0;^ [s0;# [2 It is possible to fit different plots with LinkedWith() so 
that any scroll or zoom in any graph will affect the rest of 
them.]&]
[s0;2 ]
::= [s0;= [*R2 
@@image:2118&1377
([encoded data, 21480 characters])
]]}}&]
[s0; ]]