The SDL Component Suite is an industry leading collection of components supporting scientific and engineering computing. Please visit the SDL Web site for more information....



Interface of SDL_BoxPlot

const
{$IFDEF PAIDVERS}
  SDLVersionInfo = 'boxplot_r1200_full';
  IsLightEd = false;
{$ELSE}
  SDLVersionInfo = 'boxplot_r1200_lighted';
  IsLightEd = true;
{$ENDIF}
  Release = 1200;

type
  TBoxPlotLabel = class (TCustomTextLabel)
               private
                 FLabelPos    : integer;
                 procedure SetFLabelPos (lp: integer);
               public
                 constructor Create;
               published
                 property Position: integer read FLabelPos write SetFLabelPos;
                 property ColorBkg;
                 property ColorBorder;
                 property ColorShadow;
                 property ShadowDx;
                 property ShadowDy;
                 property Transparent;
                 property Font;
                 property Mode;
                 property Visible;
                 property OnChange;
               end;

  TBoxPlotOrientation = (bpltHorizontal, bpltVertical);
  TBoxPlotGridStyle = (bpgsNone, bpgsLines, bpgsDotLines);

  TOnBeforeBoxDrawEvent = procedure (Sender: TObject; Column: integer;
                                     var ColorLines, ColorBody, ColorMinMax,
                                     Color90Perc, ColorMean,
                                     ColorMedian: TColor) of object;

  TBoxPlot = class(TCustomRChart)
         private
           FOrientation : TBoxPlotOrientation;
           FBPlotWidth  : double;
           FMinis       : TVector;
           FMaxis       : TVector;
           FMinMark     : byte;
           FMaxMark     : byte;
           FMeanMark    : byte;
           FMedianMark  : byte;
           FPerc90Mark  : byte;
           FQuarts      : TMatrix;
           F90Percentils: TMatrix;
           FLabels      : TBoxPlotLabel;
           FMeans       : TVector;
           FColorBody   : TColor;
           FColorLines  : TColor;
           FColorMedian : TColor;
           FColorMean   : TColor;
           FColor90Perc : TColor;
           FColorMinMax : TColor;
           FShow90Perc  : boolean;
           FShowMedian  : boolean;
           FShowMean    : boolean;
           FShowMinMax  : boolean;
           FGridStyle   : TBoxPlotGridStyle;
           FOnBeforeBoxDraw : TOnBeforeBoxDrawEvent;
           FExtMatAssigned  : boolean;
           procedure CommitChangedData;
           procedure SetColorLines (col: TColor);
           procedure SetColorMedian (col: TColor);
           procedure SetColorMean (col: TColor);
           procedure SetColor90Perc (col: TColor);
           procedure SetColorMinMax (col: TColor);
           procedure SetColorBody (col: TColor);
           procedure SetSuppressPaint (supp: boolean);
           procedure SetGridStyle (gs: TBoxPlotGridStyle);
           procedure SetBoxWidth (wid: double);
           procedure SetFMinMark (mm: byte);
           procedure SetFMaxMark (mm: byte);
           procedure SetFMeanMark (mm: byte);
           procedure SetFMedianMark (mm: byte);
           procedure SetFPerc90Mark (mm: byte);
           procedure SetOrientation (orient: TBoxPlotOrientation);
           procedure SetShow90Perc (v: boolean);
           procedure SetShowMinMax (v: boolean);
           procedure SetShowMean (v: boolean);
           procedure SetShowMedian (v: boolean);
           procedure SetFLabels (v: TBoxPlotLabel);
           procedure CreateChart;
         protected
           procedure Paint; override;
           procedure DataChanged(Sender: TObject);
           procedure CreateWnd; override;
           procedure TriggerBoxPlotColorsEvent (Column: integer; var ColorLines,
                        ColorBody, ColorMinMax, Color90Perc, ColorMean,
                        ColorMedian: TColor);
         public
           Data: TDataTable;
           constructor Create(AOwner: TComponent); override;
           destructor Destroy; override;
           property  SuppressPaint: boolean
                        read FSuppressPaint write SetSuppressPaint;
           procedure ConfineZoomRange (xLo, yLo, xHi, yHi: double);
           procedure SetBounds (ALeft, ATop, AWidth, AHeight: Integer); override;
           procedure AssignAnotherDataTable (DTab: TDataTable);
           procedure AutoRange (Margin: double);
           procedure CopyToBitmap (ABitmap: TBitmap; BlkWhite: boolean);
           procedure CopyToBMP (FName: string; BlkWhite: boolean);
           procedure CopyToClipboard (BlkWhite: boolean);
{$IFNDEF ISCLX}
           procedure CopyToClipboardWMF (BlkWhite: boolean);
           procedure CopyToWMF (FName: string; BlkWhite: boolean);
           procedure CopyToOpenPrinter (var x,y: integer; ScaleF: double;
                        BlkWhite: boolean);
           procedure PrintIt (ScaleF: double; BlkWhite: boolean);
{$ENDIF}
           procedure SaveDataASC (FName: string);
           procedure SetRange (xLo, yLo, xHi, yHi: extended);
           property  MousePosX;
           property  MousePosY;
           procedure Update;
         published
           property ColorBody: TColor read FColorBody write SetColorBody;
           property ColorLines: TColor read FColorLines write SetColorLines;
           property ColorMedian: TColor read FColorMedian write SetColorMedian;
           property ColorMean: TColor read FColorMean write SetColorMean;
           property Color90Perc: TColor read FColor90Perc write SetColor90Perc;
           property ColorMinMax: TColor read FColorMinMax write SetColorMinMax;
           property Show90Perc: boolean read FShow90Perc write SetShow90Perc;
           property ShowMean: boolean read FShowMean write SetShowMean;
           property ShowMedian: boolean read FShowMedian write SetShowMedian;
           property ShowMinMax: boolean read FShowMinMax write SetShowMinMax;
           property ChartColor;
           property BoxWidth: double read FBPlotWidth write SetBoxWidth;
           property WindColor;
           property GridColor;
           property ChartFrameColor;
           property GridStyle: TBoxPlotGridStyle read FGridStyle write SetGridStyle;
           property Font;
           property Align;
           property Visible;
           property ShowHint;
           property PopupMenu;
           property Anchors;
           property Constraints;
{$IFNDEF ISCLX}
           property DragKind;
           property DragCursor;
           property DragMode;
{$ENDIF}
           property MarginLeft;
           property MarginRight;
           property MarginTop;
           property MarginBottom;
           property Orientation: TBoxPlotOrientation
                       read FOrientation write SetOrientation;
           property SymbolMin: byte read FMinMark write SetFMinMark;
           property SymbolMax: byte read FMaxMark write SetFMaxMark;
           property SymbolMean: byte read FMeanMark write SetFMeanMark;
           property SymbolMedian: byte read FMedianMark write SetFMedianMark;
           property Symbol90Perc: byte read FPerc90Mark write SetFPerc90Mark;
           property Caption;
           property CaptionPosX;
           property CaptionPosY;
           property CaptionAlignment;
           property CaptionAnchorHoriz;
           property CaptionAnchorVert;
           property CrossHair1;
           property MouseAction;
           property MouseCursorFixed;
           property Scale1X;
           property Scale1Y;
           property ShadowWidth;
           property ShadowStyle;
           property ShadowColor;
           property ShadowBakColor;
{$IFDEF GE_LEV17}
           property StyleElements;
{$ENDIF}
           property Labels: TBoxPlotLabel read FLabels write SetFLabels;
           property OnBeforeBoxDraw: TOnBeforeBoxDrawEvent
                       read FOnBeforeBoxDraw write FOnBeforeBoxDraw;
           property OnClick;
           property OnDblClick;
           property OnDragDrop;
           property OnDragOver;
           property OnEndDrag;
           property OnMouseMove;
           property OnMouseDown;
           property OnMouseUp;
           property OnKeyDown;
           property OnKeyUp;
           property OnKeyPress;
           property OnMouseMoveInChart;
           property OnZoomPan;
           property OnBeforeRenderData;
           property OnDataRendered;
           property OnScalesRendered;
           property OnStartDrag;
           property OnCrossHairMove;
           property OnTextLabelMove;
 {$IFNDEF ISCLX}  // Kylix does not know OnCanResize
           property OnCanResize;
           property OnResize;
 {$ENDIF}
         end;



Last Update: 2023-Feb-06