Hide Comments
Hide Comments

Comments (0)

Extends the FMX.RS.ChartPanel.TRSCustomChart component to publish its properties. All of the chart types in the RCCS either directly or indirectly descend from this class. The TRSChart component provides the common properties and methods for a chart type, including the    HorizontalAxis and    VerticalAxis to use for the chart,    Caption and Font , and most importantly, the    Values property.

The Values property is the most important property of a chart type and allows you to define the chart values at design-time or run-time. It provides all the information about an individual chart point, not only position but also Caption, Visibility, and Selected. Each chart type uses the FMX.RS.ChartPanel.TRSChartValues class appropriate to their chart type, e.g., a bar chart has a 1D value type, line charts have 2D value types, and shape charts use 2D value types with shape/image information.
 

noteNote

Charts are TGraphicControl descendants for VCL and TControl descendants for FMX. Display charts on a chart panel (with integrated axes, legend, header, footers, etc) or stand-alone (allowing use of FMX effects or embedding within other controls). Set the Panel property to the FMX.RS.ChartPanel.TRSChartPanel you want the chart displayed inside or nil for stand-alone use.

Namespace: FMX.RS.Charts

expandingInheritance Hierarchy
expandingSyntax

Delphi

type
  TRSChart = class(TRSCustomChart)
  end; 
 

expandingConstructors

 

Name

Description

public constructor

Create(TComponent)

Initializes a new instance of the TRSCustomChart class. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

Top

expandingProperties

 

Name

Description

published property

Align

Represents property Align.

protected property

AxesHints

 (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

published property

Brush

Represents property Brush.

published property

Caption

Represents property Caption.

published property

ClipChildren

Represents property ClipChildren.

published property

ClipParent

Represents property ClipParent.

published property

Color

Represents property Color.

public property

ColorList

Defines the color list to use when new chart values are created. When a chart value is created and a color is not specified, the object will get a new color based on the next color in the list. If the list is at the end, the new color will be the first color in the list.

Set the ColorList property directly to define your own custom color scheme. Set the ColorScheme property to use one of the predefined color lists.

noteNote

The new color list will be applied to the existing chart values.

published property

ColorScheme

Represents property ColorScheme.

published property

Cursor

Represents property Cursor.

published property

Enabled

Represents property Enabled.

public property

FirstIndex

The FirstIndex and the     LastIndex properties define the indices of the Values that are currently being drawn in the chart.

Usually, these properties are equivalent to 0 for the FirstIndex and Values.Count-1 for the LastIndex. However, when the TRSChartPanel component has been zoomed, these properties reflect the point just before the first point in the zoomed area and the point just after the last point in the zoomed area (this ensures the visual aspect of the chart by allowing, for example, lines to be drawn into and out of the zoomed area. The FirstIndex and LastIndex properties provide more efficient access to only the values that are currently being drawn.

noteNote

For charts that don't have an easy visual ordering (such as a shape chart where depending on sizes things can overlap), the FirstIndex and LastIndex will be the entire Values collection.

published property

Font

Represents property Font.

public property

FontFill

Specifies the brush, including color, to use for filling text (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

published property

Group

Represents property Group.

public property

GroupIndex

Use the GroupIndex property to specify the ordering of the charts in a group at design time (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

published property

GroupStyle

Represents property GroupStyle.

published property

Height

Represents property Height.

published property

HitTest

Represents property HitTest.

published property

HorizAxis

Represents property HorizAxis.

published property

HorizontalAxis

Represents property HorizontalAxis.

public property

LastIndex

The FirstIndex and the     LastIndex properties define the indices of the Values that are currently being drawn in the chart.

Usually, these properties are equivalent to 0 for the FirstIndex and Values.Count-1 for the LastIndex. However, when the TRSChartPanel component has been zoomed, these properties reflect the point just before the first point in the zoomed area and the point just after the last point in the zoomed area (this ensures the visual aspect of the chart by allowing, for example, lines to be drawn into and out of the zoomed area. The FirstIndex and LastIndex properties provide more efficient access to only the values that are currently being drawn.

noteNote

For charts that don't have an easy visual ordering (such as a shape chart where depending on sizes things can overlap), the FirstIndex and LastIndex will be the entire Values collection.

public property

Listeners

Tracks the FMX.RS.ChartPanel.IChartPanelListeners which are listening for changes to this chart. The TRSCustomChart class uses this list to automatically notify listeners when the chart or its values change.

Add a class to this list in order for it to receive change events from the chart.

protected property

LocalHorizontalAxis

Represents property LocalHorizontalAxis. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected property

LocalVerticalAxis

Represents property LocalVerticalAxis. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

published property

Margins

Represents property Margins.

published property

OffsetVertical

Represents property OffsetVertical.

published property

OnChange

Represents property OnChange.

published property

OnClick

Represents property OnClick.

published property

OnDblClick

Represents property OnDblClick.

published property

OnDragDrop

Represents property OnDragDrop.

published property

OnDragEnd

Represents property OnDragEnd.

published property

OnDragEnter

Represents property OnDragEnter.

published property

OnDragLeave

Represents property OnDragLeave.

published property

OnDragOver

Represents property OnDragOver.

published property

OnDraw

Represents property OnDraw.

published property

OnDrawing

Represents property OnDrawing.

published property

OnMouseDown

Represents property OnMouseDown.

published property

OnMouseEnter

Represents property OnMouseEnter.

published property

OnMouseLeave

Represents property OnMouseLeave.

published property

OnMouseMove

Represents property OnMouseMove.

published property

OnMouseUp

Represents property OnMouseUp.

published property

OnMouseWheel

Represents property OnMouseWheel.

published property

OnResize

Represents property OnResize.

published property

OnValueChange

Represents property OnValueChange.

published property

OnValueSelectionChange

Represents property OnValueSelectionChange.

published property

OnValueVisibleChange

Represents property OnValueVisibleChange.

published property

OnVisibleChange

Represents property OnVisibleChange.

published property

Opacity

Represents property Opacity.

published property

Options

Represents property Options.

published property

Padding

Represents property Padding.

published property

Panel

Represents property Panel.

public property

PanelColorScheme

Specifies which color scheme to use when new chart values are created with default color values. If Panel is not nil and this property is True, then the chart panel's   ChartColorScheme is used. Otherwise, the   ColorScheme is used (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

published property

ParentFont

Represents property ParentFont.

published property

ParentSelectionColor

Represents property ParentSelectionColor.

published property

Pen

Represents property Pen.

published property

PopupMenu

Represents property PopupMenu.

published property

Position

Represents property Position.

published property

Preview

Represents property Preview.

published property

RotationAngle

Represents property RotationAngle.

published property

RotationCenter

Represents property RotationCenter.

published property

Scale

Represents property Scale.

published property

SelectionColor

Represents property SelectionColor.

published property

ShowHint

Represents property ShowHint.

protected property

State

Represents property State. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

published property

ValueLabelFormat

Represents property ValueLabelFormat.

published property

ValueLabelStyle

Represents property ValueLabelStyle.

published property

Values

Represents property Values.

published property

VertAxis

Represents property VertAxis.

published property

VerticalAxis

Represents property VerticalAxis.

published property

Visible

Represents property Visible.

public property

VisibleCount

Returns the number of TRSChartValue that are visible for the chart (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

published property

Width

Represents property Width.

Top

expandingMethods

 

Name

Description

public method

AfterPaint

Represents method AfterPaint. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

Assign(TPersistent)

Represents method Assign(TPersistent). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

AxisChanged(TRSChartAxis)

Represents method AxisChanged(TRSChartAxis). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

Changed

Overloaded. Represents method Changed. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

Changed(TRSChartValue)

Overloaded. Represents method Changed(TRSChartValue). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

Clone

Creates a "deep" copy of the chart. It constructs a new chart of the correct type and then calls the Assign method to copy its properties to the new copy.

alert_cautionCaution

Note that the new TRSCustomChart has the same owner as the current chart. If there is no owner, you are responsible for freeing the new clone.

protected method

CreateBrush

Represents method CreateBrush. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

CreateChartValues

Creates the FMX.RS.ChartPanel.TRSChartValues class for the   Values property

alert_noteNotes to Inheritors

Override this method to create your TRSChartValues descendant

protected method

CreateFont

Represents method CreateFont. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

CreatePen

Represents method CreatePen. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

CreatePreviewValues

Creates sample values for illustrating how the chart will look. This function is automatically called at design-time to fill the chart with sample values. It can also be called at run-time to add more values to the chart (i.e., the chart is not cleared first)

noteNote

Set the Preview property to false to have the design-time sample values show up at run-time

protected method

DoUpdateAxisInfo(TRSChartAxis)

Represents method DoUpdateAxisInfo(TRSChartAxis). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

Draw(TCanvas,TCanvasRect)

Overloaded.  Paints the chart to the specified Canvas in the specified location. The Draw method first calls the     OnDrawing event, which signals that it is about to draw and allows users to stop the drawing before it occurs. Then, it calls the protected     InternalDraw method to actually do the drawing. Finally, it calls the OnDraw event to signal the end of drawing of the chart.

Use the Draw method to paint the chart to any canvas and anywhere and with any size on the canvas.

alert_noteNotes to Callers

The Draw Method uses the     HorizontalAxis and     VerticalAxis properties to convert the chart values into pixel coordinates. If you want to use a different axis (but not change the above properties), call the overloaded Draw method.




















































































































































 (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)



public method

Draw(TCanvas,TCanvasRect,TRSChartAxis,TRSChartAxis,Boolean,Boolean)

Overloaded.  Paints the chart to the specified Canvas in the specified location. The Draw Method uses the supplied TRSChartAxis (instead of the     HorizontalAxis and     VerticalAxis properties) to convert the chart values into pixel coordinates.

Unlike the regular Draw method, this method draws the axes as well (useful for when the chart is not connected to a panel).

Use the Draw method to paint the chart to any canvas and anywhere and with any size on the canvas.

 (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

DrawAxes(TCanvas,TCanvasRect,TRSChartAxis,TRSChartAxis)

Draws the specified axes to the Canvas (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

DrawGlyph(TCanvas,TCanvasRect)

Overloaded. Represents method DrawGlyph(TCanvas,TCanvasRect). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

DrawGlyph(TCanvas,TRSChartValue,TCanvasRect)

Overloaded. Represents method DrawGlyph(TCanvas,TRSChartValue,TCanvasRect). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

Drawing(TCanvas,TCanvasRect)

Calls the OnDrawing event and returns True if the draw process should continue.

This method is called before the InternalDraw method.

public method

DrawLabel(TCanvas,String,TCanvasPixel,TCanvasPixel,Single)

Overloaded. Draws the text caption centered above the X, Y point without clipping.

noteNote

The Opacity is ignored in VCL

public method

DrawLabel(TCanvas,String,TCanvasRect,Single)

Overloaded. Draws the text caption centered within the rectangle. The text is clipped

noteNote

The Opacity is ignored in VCL

public method

DrawLabel(TCanvas,TRSChartValue,TCanvasPixel,TCanvasPixel)

Overloaded. Draws the text caption centered above the X, Y point without clipping.

noteNote

The Opacity is specified by the FMX.RS.ChartPanel.TRSChartValue.Opacity property

public method

DrawLabel(TCanvas,TRSChartValue,TCanvasRect)

Overloaded.  Draws a label for the TRSChartValue on the canvas. The text of the label is controlled by the ValueLabelStyle property.

The label is drawn within the specified rectangle.

noteNote

The Opacity is specified by the FMX.RS.ChartPanel.TRSChartValue.Opacity property

protected method

Drawn(TCanvas,TCanvasRect)

Calls the OnDraw event.

This method is called after the InternalDraw method.

public method

EndUpdate

Re-enables screen repainting and change events. Use EndUpdate to re-enable screen repainting and change events that were turned off with the BeginUpdate method. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

FormatValue(TRSChartValue,TRSLabelTextStyle)

Generates a label for the Value based on the TextStyle (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

GetAdjOffsetVertical

Returns the vertical offset (     OffsetVertical).

If coUseVerticalOffset is not in     Options, this method always returns 0. If coUseVerticalOffset is in Options, the function returns the OffsetVertical value.

public method

GetAxisCaption(TRSChartAxis,Integer,TRSChartValueType)

Returns a label for an axis ( FMX.RS.ChartPanel.TRSChartAxis ) based on the input Value. The Index specifies where to start looking in the chart Values (for optimization purposes) and decrements from there until the closest chart value is found. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public methodClass member

GetChartType

Returns the chart type enumerated value for this class. Each chart class overrides this class function to return the RSChartConsts|TRSChartType enumerated value (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

GetColor

Overloaded. Represents method GetColor. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

GetColor(TRSChartValue)

Overloaded. Returns the color of the chart value. The color of the TRSChartValue can change depending on the   Options property as well as any other chart states (e.g., the TRSCandleStickChart class overrides this method to turn the color red or green depending on if the Open value is greater than the Closing Value) (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

GetCumulativeTotal(Integer,Integer,TRSCustomChartClass)

Determine the cumulative value at this index for all charts in the Group. The ValIndex specifies the     TRSChartValue.Values dimension to compare.

Used for stacking charts.

public method

GetCumulativeValue(Integer,Integer,TRSCustomChartClass)

Determine the cumulative value at this index for all charts below (spatially) this chart in the same     Group. The ValIndex specifies the     TRSChartValue.Values dimension to compare.

Used for stacking charts.

protected method

GetGroupDimension

Represents method GetGroupDimension. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

GetValueColor

Returns a new chart color based on the   ChartColorScheme and   ChartColorList. Every time a chart is created, it is assigned a new color from the current ChartColorList. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

InitializeChangeEvents

Initialize the OnChange events of structures. Use this method to assign event handlers for structures (e.g., Pen.OnChange := MyChangeMethod).

alert_noteNotes to Inheritors

The constructor calls this method after it calls the InitializeChart method, which is where the structures should be actually created and initialized.

protected method

InitializeChart

Creates and initialize structures and values of chart. This method is the safe place to initialize chart values without change events occurring.

alert_noteNotes to Inheritors

The constructor calls this method. Use this method to actually create and initialize properties. Do not assign event properties in this method (use the InitializeChangeEvents method instead)

protected method

InternalDraw(TCanvas,TCanvasRect)

Paints the chart graphic to the specified canvas at the specified rectangle. The InternalDraw method is called by the     Draw method.

Descendant classes of TRSCustomChart override the InternalDraw method to actually paint themselves.

alert_noteNotes to Inheritors

The default InternalDraw method implementation assigns the     Brush, Pen , and Font to the Canvas.

protected method

InternalSelect(TCanvasRect,TRSChartSelectionAction)

Selects or deselects chart Values ( FMX.RS.ChartPanel.TRSChartValue ) based on whether they intersect with the selection rectangle (which is in pixel coordinates).

The base method converts the SelectionRect to chart coordinates (based on     HorizontalAxis and     VerticalAxis) and then selects values based on the TRSChartValue.Selectable method

public method

Invalidate

Represents method Invalidate. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

IsSelectable(TCanvasRect)

Returns True if any value in the chart intersects with the SelectionRect (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

IsValuesStored

Represents method IsValuesStored. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

IsVisible

Indicates whether the chart is visible. A chart is visible if its Visible property is True and both axes have been assigned. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

Loaded

Represents method Loaded. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

MouseHover(TCanvasRect)

Represents method MouseHover(TCanvasRect). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

Notification(TComponent,TOperation)

Represents method Notification(TComponent,TOperation). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

Paint

Represents method Paint. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

PanelChanged

Represents method PanelChanged. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

SaveCanvasResources(TCanvas,TBrush,TRSPen,TFont)

Represents method SaveCanvasResources(TCanvas,TBrush,TRSPen,TFont). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

public method

Select(TCanvasRect,TRSChartSelectionAction)

Selects or deselects chart Values ( FMX.RS.ChartPanel.TRSChartValue ) based on whether they intersect with the selection rectangle (which is in pixel coordinates).

The base method converts the SelectionRect to chart coordinates (based on     HorizontalAxis and     VerticalAxis) and then selects values based on the TRSChartValue.Selectable method

alert_noteNotes to Inheritors

Descendant classes override the InternalSelect method

protected method

SelectionColorChanged

Represents method SelectionColorChanged. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

SenderChanged(TObject)

Overloaded. Represents method SenderChanged(TObject). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

SetCanvasResources(TCanvas,TBrush,TRSPen,TFont,Boolean,Boolean)

Overloaded. Represents method SetCanvasResources(TCanvas,TBrush,TRSPen,TFont,Boolean,Boolean). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

SetCanvasResources(TCanvas,TRSChartValue,Boolean,Boolean)

Overloaded. Represents method SetCanvasResources(TCanvas,TRSChartValue,Boolean,Boolean). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

SetColor(TCanvasColor)

Represents method SetColor(TCanvasColor). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

SetOptions(TChartOptions)

Represents method SetOptions(TChartOptions). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

SetVisible(Boolean)

Represents method SetVisible(Boolean). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

UpdateAxisInfo(TRSChartAxis)

Represents method UpdateAxisInfo(TRSChartAxis). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

UpdateColorScheme

Updates the values to the current color scheme. If PanelColorScheme is True then uses the Panel's color scheme (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

ValueSelectionChanged(TRSChartValue)

Represents method ValueSelectionChanged(TRSChartValue). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

ValueVisibleChanged(TRSChartValue)

Represents method ValueVisibleChanged(TRSChartValue). (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

VisibleChanged

Represents method VisibleChanged. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected method

WantsCaptions(TRSChartAxis)

Returns true if the chart prefers Captions over Values for its labels on the input Axis. This method provides a hint to the TRSChartAxis when LabelStyle is alsAutomatic. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

Top

expandingFields

 

Name

Description

protected field

FFirstIndex

Represents field FFirstIndex. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected field

FLastIndex

Represents field FLastIndex. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected field

FOptions

Represents field FOptions. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected field

FSuppressAxesChange

Represents field FSuppressAxesChange. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected field

FUpdating

Represents field FUpdating. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

protected field

FVisibleCount

Represents field FVisibleCount. (Inherited from FMX.RS.ChartPanel.TRSCustomChart.)

Top

expandingExamples

To display a chart, you drop the component on a form and optionally connect its Panel property to the FMX.RS.ChartPanel.TRSChartPanel component where you want it to be displayed.

To display a chart:
 

Drop a TRSChart descendant component on a form
Optionally, drop a TRSChartPanel component where you want the chart to be displayed. (Note, more than one chart can share the same chart panel)
Connect the Panel property of the chart to the chart panel

To add chart values (point, line, arrow, bar, etc) to the chart (at Design-Time):

Select the TRSChart descendant component
Click the ellipsis button (...) for the Values property of the chart. This action displays Delphi's Collection Editor for the FMX.RS.ChartPanel.TRSChartValues collection.
Use the Add button to add donut slices ( FMX.RS.ChartPanel.TRSChartValue collection item) to the chart.
 
Edit each chart value properties to achieve the display you want.
 

To add chart values (point, line, arrow, bar, etc) to the chart (at Run-Time):

Delphi

var
   Value: TRChartValue;  // note, this type should be the same that the chart uses (e.g., TRS2DChartValue, TRSArrowChartValue, etc)
 begin
   // Add one value and configure
   Value := MyChart.Values.Add;
   Value.Color := clRed;
   Value.Caption := 'Research';
   Value.Value := 10.0;
 end; 

 
 

expandingSee Also

Reference

Bar Chart
Sparse Bar Chart
High/Low/Average Chart
CandleStick Chart
Donut Chart
Donut+ Chart
Bubble Chart
Graph Chart
Equalizer Chart

Comments (0)

RiverSoftAVG Charting Component Suite (RCCS) © 2005-2015, Thomas G. Grubb