UNPKG

igniteui-react-charts

Version:

Ignite UI React charting components for building rich data visualizations using TypeScript APIs.

1,239 lines (1,236 loc) 48.1 kB
import * as React from 'react'; import { FinancialChart } from './FinancialChart'; import { FinancialChartType } from './FinancialChartType'; import { IgrXYChart, IIgrXYChartProps } from './igr-xy-chart'; import { DataSeriesType } from "igniteui-react-core"; import { FinancialChartVolumeType } from './FinancialChartVolumeType'; import { FinancialChartXAxisMode } from './FinancialChartXAxisMode'; import { FinancialChartYAxisMode } from './FinancialChartYAxisMode'; import { HorizontalAlignment } from "igniteui-react-core"; import { FinancialChartZoomSliderType } from './FinancialChartZoomSliderType'; import { IgrFinancialIndicatorTypeCollection } from './igr-financial-indicator-type-collection'; import { IgrFinancialOverlayTypeCollection } from './igr-financial-overlay-type-collection'; import { IgrIndicatorDisplayTypeCollection } from './igr-indicator-display-type-collection'; import { IgrFinancialChartRangeSelectorOptionCollection } from './igr-financial-chart-range-selector-option-collection'; import { IgrFinancialChartCustomIndicatorArgs } from './igr-financial-chart-custom-indicator-args'; import { IgrCustomIndicatorNameCollection } from './igr-custom-indicator-name-collection'; import { IgCollection } from "igniteui-react-core"; import { DomainType } from "./DomainType"; export declare class IgrFinancialChart extends IgrXYChart<IIgrFinancialChartProps> { private _container; private _defaultTemplates; private _height; private _width; private _mainGridElement; private _toolbarTemplateComponent; private _sliderPortal; private _mainElement; render(): React.DetailedReactHTMLElement<{ className: string; key: string; children: any[]; ref: (t: any) => void; }, any>; protected _tooltipRef(t: any): void; protected _toolbarRef(t: any): void; protected _toolTemplateRef(t: any): void; protected _mainGridRef(t: any): void; protected _mainRef(t: any): void; set height(value: string); get height(): string; set width(value: string); get width(): string; private _rangeSelectorTemplate; get rangeSelectorTemplate(): any; set rangeSelectorTemplate(value: any); private _chartTypePickerTemplate; get chartTypePickerTemplate(): any; set chartTypePickerTemplate(value: any); private _indicatorMenuTemplate; get indicatorMenuTemplate(): any; set indicatorMenuTemplate(value: any); private _toolbarTemplate; get toolbarTemplate(): any; set toolbarTemplate(value: any); private _chartTemplate; get chartTemplate(): any; set chartTemplate(value: any); private _wrapper; private _initialized; private _toolbarElement; constructor(props: IIgrFinancialChartProps); private _checkToolbarSize; destroy(): void; componentWillUnmount(): void; private onDocumentClick; private rewrapAxis; protected createImplementation(): FinancialChart; get i(): FinancialChart; protected createSeriesComponent(type: string): any; protected createIndicator(typeName: string): any; protected createOverlay(typeName: string): any; protected createSeries(type: DataSeriesType): any; protected createXAxis(type: FinancialChartXAxisMode): any; protected createYAxis(type: FinancialChartYAxisMode): any; private _chart; private _dataSource; set dataSource(value: Array<any>); get dataSource(): Array<any>; bindData(): void; private _toolRef; private _defaultTooltips; private _mounted; componentDidMount(): void; initializeContent(): void; private _dynamicContent; private _createZoomSlider; private _activeTooltips; private _activeTooltipElements; private _currentTooltips; private _uniqueTooltipId; private createTooltip; private _ensureTooltipCreated; private _ensureDefaultTooltip; private _onDefaultTooltipsReady; private _updateTooltipState; private _xAxisBreaks; /** * TimeAxisBreaks to apply to this chart when in time axis mode, representing spans of time to omit, such as weekends. */ get xAxisBreaks(): IgCollection<any, any>; set xAxisBreaks(v: IgCollection<any, any>); get leftMargin(): number; set leftMargin(v: number); get isHorizontalZoomEnabled(): boolean; set isHorizontalZoomEnabled(v: boolean); get toolbarHeight(): number; set toolbarHeight(v: number); /** * Gets domain type of this chart */ get domainType(): DomainType; /** * Gets or sets whether the Y-axis should use a logarithmic scale instead of a linear one. * Since log(-1) is imaginary and log(0) is undefined, it is recommended to enable this property only when the Y-axis minimum is greater than zero. */ get yAxisIsLogarithmic(): boolean; set yAxisIsLogarithmic(v: boolean); /** * Gets or sets the base value to use in the log function when mapping the position of data items along the Y-axis. * This property is effective only when YAxisIsLogarithmic is true. */ get yAxisLogarithmBase(): number; set yAxisLogarithmBase(v: number); /** * Gets or sets the distance between each label and grid line along the Y-axis. * * The `YAxisInterval` determines how often to show a label, tickmark, and/or gridline along the y-axis. Set this property to a number less than the numeric range of the y-axis. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * yAxisInterval={20} * /> * ``` */ get yAxisInterval(): number; set yAxisInterval(v: number); /** * Gets or sets the data value corresponding to the minimum value of the Y-axis. * * The `YAxisMinimumValue` determines starting value of labels, tickmarks, and gridlines on the y-axis. * * ```ts * <IgrFinancialChart * yAxisMinimumValue={-200} * yAxisMaximumValue={1000} * dataSource={this.data} /> * ``` */ get yAxisMinimumValue(): number; set yAxisMinimumValue(v: number); /** * Gets or sets the data value corresponding to the maximum value of the Y-axis. * * The `YAxisMaximumValue` determines ending value of labels, tickmarks, and gridlines on the y-axis. * * ```ts * <IgrFinancialChart * yAxisMinimumValue={-200} * yAxisMaximumValue={100} * dataSource={this.data} /> * ``` */ get yAxisMaximumValue(): number; set yAxisMaximumValue(v: number); /** * Gets or sets the frequency of displayed minor lines along the Y-axis. * * The `YAxisMinorInterval` determines how often to show minor gridline along the y-axis. Set this property to a number less than the `YAxisInterval` and the numeric range of the y-axis. * * ```ts * <IgrFinancialChart * yAxisMinorInterval={50} * dataSource={this.data} /> * ``` */ get yAxisMinorInterval(): number; set yAxisMinorInterval(v: number); /** * Gets the current minimum value for the Y-axis. */ get yAxisActualMinimum(): number; /** * Gets the current maximum value for the Y-axis. */ get yAxisActualMaximum(): number; /** * The type of series to display in the volume pane. * * Use the `VolumeType` property to set a type of all series that will be rendered in the volume pane, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * volumeType="Column" /> * ``` */ get volumeType(): FinancialChartVolumeType; set volumeType(v: FinancialChartVolumeType); /** * The scaling mode of the X-axis. * * Use the `XAxisMode` property to plot data items without any breaks in data range (Ordinal mode) or with breaks in data range (Time mode) such as weekends/holidays. Note that the Ordinal axis mode is less expensive to use in the financial chart than the Time axis mode. * * ```ts * <IgrFinancialChart * xAxisMode="time" * dataSource={this.data} /> * ``` */ get xAxisMode(): FinancialChartXAxisMode; set xAxisMode(v: FinancialChartXAxisMode); /** * Gets or sets number of visible categories at maximum zooming level * This property works only with ordinal XAxisMode and it is overridden by chart's WindowRectMinWidth property */ get xAxisZoomMaximumCategoryRange(): number; set xAxisZoomMaximumCategoryRange(v: number); /** * Gets or sets starting category that chart will move its zoom window. Acceptable value is between 0 and number of data items * This property works only with ordinal XAxisMode and it is overridden by chart's WindowRect or WindowScaleHorizontal properties */ get xAxisZoomToCategoryStart(): number; set xAxisZoomToCategoryStart(v: number); /** * Gets or sets maximum pixel span of series item that will be visible at maximum zooming level * This property ensures that series item does not get stretch above specified value. * This property works only with ordinal XAxisMode and it is overridden by chart's WindowRectMinWidth property */ get xAxisZoomMaximumItemSpan(): number; set xAxisZoomMaximumItemSpan(v: number); /** * Gets or sets number of categories that the chart will zoom in and fill plot area * This property is overridden by chart's WindowRect or WindowScaleHorizontal properties */ get xAxisZoomToCategoryRange(): number; set xAxisZoomToCategoryRange(v: number); /** * Gets or sets pixel span of series item that will be used to zoom chart such that the item has desired span * Chart will automatically zoom in until series item has specified pixel span. * This property works only with ordinal XAxisMode and it is overridden by chart's WindowRect or WindowScaleHorizontal properties */ get xAxisZoomToItemSpan(): number; set xAxisZoomToItemSpan(v: number); /** * The scaling mode of the Y-axis. * * Use the `YAxisMode` property to plot data items using their actual values (Numeric) or using percent changes from the first data point (PercentChange), e.g. * * ```ts * <IgrFinancialChart * yAxisMode={this.state.yAxisMode} * dataSource={this.data} /> * ``` */ get yAxisMode(): FinancialChartYAxisMode; set yAxisMode(v: FinancialChartYAxisMode); /** * A boolean property controlling the visibility of the toolbar. */ get isToolbarVisible(): boolean; set isToolbarVisible(v: boolean); /** * The type of price series to display in the main chart. * * Use the `ChartType` property to set a type of series that will be used to render prices in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * chartType="Candle" * dataSource={this.data} /> * ``` */ get chartType(): FinancialChartType; set chartType(v: FinancialChartType); /** * Gets or sets Horizontal alignment of Y-axis labels. */ get yAxisLabelHorizontalAlignment(): HorizontalAlignment; set yAxisLabelHorizontalAlignment(v: HorizontalAlignment); /** * A boolean indicating whether the chart should automatically zoom in vertically on the currently visible range of data. * When this property is set to true, panning and zooming along the X-axis will result in a corresponding zoom on the Y-axis, so that the visible range of data fills the zoom window as fully as possible. */ get isWindowSyncedToVisibleRange(): boolean; set isWindowSyncedToVisibleRange(v: boolean); private _indicatorTypes; /** * A collection indicating what financial indicator types to display on the Financial Chart. * * Use the `IndicatorTypes` property to set types of indicators that will be rendered below the price pane in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorTypes="ForceIndex" /> * ``` */ get indicatorTypes(): IgrFinancialIndicatorTypeCollection; set indicatorTypes(v: IgrFinancialIndicatorTypeCollection); private _overlayTypes; /** * A collection indicating what financial overlay types to display on the Financial Chart. * * Use the `OverlayTypes` property to set types of overlays that will be rendered behind price series in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * overlayType ="PriceChannel" /> * ``` */ get overlayTypes(): IgrFinancialOverlayTypeCollection; set overlayTypes(v: IgrFinancialOverlayTypeCollection); /** * Gets or sets whether the large numbers on the Y-axis labels are abbreviated. */ get yAxisAbbreviateLargeNumbers(): boolean; set yAxisAbbreviateLargeNumbers(v: boolean); /** * Gets or sets the rendering resolution for all series in this chart. * Where n = Resolution, for every n horizontal pixels, combine all items into a single datapoint. When Resolution = 0, all datapoints will be rendered as graphical objects. Charts with a higher resolution will have faster performance. */ get resolution(): number; set resolution(v: number); /** * Gets or sets whether the x axis enhanced interval management should prefer to show all the labels if possible without collisions for supported types of category axes. This is for use with EnhancedIntervalMinimumCharacters = -1 and axes that have an integral interval. */ get xAxisEnhancedIntervalPreferMoreCategoryLabels(): boolean; set xAxisEnhancedIntervalPreferMoreCategoryLabels(v: boolean); /** * Gets or sets whether the y axis enhanced interval management should prefer to show all the labels if possible without collisions for supported types of category axes. This is for use with EnhancedIntervalMinimumCharacters = -1 and axes that have an integral interval. */ get yAxisEnhancedIntervalPreferMoreCategoryLabels(): boolean; set yAxisEnhancedIntervalPreferMoreCategoryLabels(v: boolean); /** * Gets or sets type of series to display in the zoom slider pane. * * Use the `ZoomSliderType` property to set a type of all series that will be rendered in the zoom pane, e.g. * * ```ts * <IgrFinancialChart * zoomSliderType="Candle" * dataSource={this.data} /> * ``` */ get zoomSliderType(): FinancialChartZoomSliderType; set zoomSliderType(v: FinancialChartZoomSliderType); /** * Gets or sets the palette used for coloring negative items of Waterfall chart type. * * Use the `NegativeBrushes` property to set a collection of brushes that will be used to render fill area of negative elements in the price pane, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * negativeBrushes="Red" /> * ``` */ get negativeBrushes(): string[]; set negativeBrushes(v: string[]); /** * Brushes to use for drawing negative elements, when using a chart type with contextual coloring, such as Waterfall. * * Use the `NegativeOutlines` property to set a collection of brushes that will be used to render outline of negative elements in the price pane, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * negativeOutlines= "Green"/> * ``` */ get negativeOutlines(): string[]; set negativeOutlines(v: string[]); /** * Brushes to use for filling financial overlays. * * Use the `OverlayBrushes` property to set a collection of brushes that will be used to render fill area of overlays in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * overlayBrushes="Green" /> * ``` */ get overlayBrushes(): string[]; set overlayBrushes(v: string[]); /** * Brushes to use for outlining financial overlays. * * Use the `OverlayOutlines` property to set a collection of brushes that will be used to render outlines of overlays in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * overlayOutlines="Red" /> * ``` */ get overlayOutlines(): string[]; set overlayOutlines(v: string[]); /** * Brushes to use for outlining volume series in the volume pane. * * Use the `VolumeOutlines` property to set a collection of brushes that will be used to render outline of multiple series in the volume pane of the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * volumeOutlines="Green" /> * ``` */ get volumeOutlines(): string[]; set volumeOutlines(v: string[]); /** * Brushes to use for filling volume series in the volume pane. * * Use the `VolumeBrushes` property to set a collection of brushes that will be used to render fill area of multiple series in the volume pane of the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * volumeBrushes="Green" /> * ``` */ get volumeBrushes(): string[]; set volumeBrushes(v: string[]); /** * Brushes to use for negative elements in financial indicators. * * Use the `IndicatorNegativeBrushes` property to set a collection of brushes that will be used to render negative elements of indicators in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorNegativeBrushes="Red"/> * ``` */ get indicatorNegativeBrushes(): string[]; set indicatorNegativeBrushes(v: string[]); /** * Brushes to use for financial indicators. * * Use the `IndicatorBrushes` property to set a collection of brushes that will be used to render positive elements of indicators in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorBrushes="Green" /> * ``` */ get indicatorBrushes(): string[]; set indicatorBrushes(v: string[]); /** * The outline thickness of volume series in the volume pane. * * Use the `VolumeThickness` property to set a number that will be used to render outline thickness of all series in the volume pane, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * volumeThickness= {2.5}/> * ``` */ get volumeThickness(): number; set volumeThickness(v: number); /** * The outline thickness of financial overlays. * * Use the `OverlayThickness` property to set a number that will be used to render outline thickness of all overlays in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * overlayThickness ={2.5} /> * ``` */ get overlayThickness(): number; set overlayThickness(v: number); /** * The multiplier of financial overlay, e.g. BollingerBands overlay. */ get overlayMultiplier(): number; set overlayMultiplier(v: number); /** * The outline or stroke thickness of financial indicators. * * Use the `IndicatorThickness` property to set a number that will be used to render outline thickness of all indicators in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorThickness={2.5} /> * ``` */ get indicatorThickness(): number; set indicatorThickness(v: number); private _indicatorDisplayTypes; /** * The display types of financial indicators. * * Use the `IndicatorDisplayTypes` property to set display types that will determine whether render all indicators as area, lines, or columns in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorDisplayTypes="line" /> * ``` */ get indicatorDisplayTypes(): IgrIndicatorDisplayTypeCollection; set indicatorDisplayTypes(v: IgrIndicatorDisplayTypeCollection); /** * The period of financial indicators, where applicable. * * The `indicatorPeriod` property applies to only the `BollingerBands` overlay as well as to these indicators types: `AverageDirectionalIndex`, `AverageTrueRange`, `BollingerBandWidth`, `ChaikinVolatility`, `CommodityChannelIndex`, `DetrendedPriceOscillator`, `FastStochasticOscillator`, `ForceIndex`, `FullStochasticOscillator`, `MoneyFlowIndex`, `PriceChannelOverlay`, `RateOfChangeAndMomentum`, `RelativeStrengthIndex`, `SlowStochasticOscillator`, `StandardDeviation`, `StochRSI`, `TRIX`, `WilliamsPercentR` * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorPeriod={8} /> * ``` */ get indicatorPeriod(): number; set indicatorPeriod(v: number); /** * The multiplier of financial indicators, e.g. BollingerBandWidth indicator. * * The `IndicatorMultiplier` property applies to only to BollingerBandWidth indicator type. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorMultiplier= {8} /> * ``` */ get indicatorMultiplier(): number; set indicatorMultiplier(v: number); /** * The smoothing period of financial indicators, where applicable. * * The `IndicatorSmoothingPeriod` property applies to only to `FullStochasticOscillator` indicator type. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorSmoothingPeriod={8} /> * ``` */ get indicatorSmoothingPeriod(): number; set indicatorSmoothingPeriod(v: number); /** * The short period of financial indicators, where applicable. * * The `IndicatorShortPeriod` property applies only to these indicator types: * * - AbsoluteVolumeOscillator, * - ChaikinOscillator, * - MovingAverageConvergenceDivergence, * - PercentagePriceOscillator, * - PercentageVolumeOscillator, * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorShortPeriod={8} /> * ``` */ get indicatorShortPeriod(): number; set indicatorShortPeriod(v: number); /** * The long period of financial indicators, where applicable. * * The `IndicatorLongPeriod` property applies only to these indicator types: * * - AbsoluteVolumeOscillator, * - ChaikinOscillator, * - MovingAverageConvergenceDivergence, * - PercentagePriceOscillator, * - PercentageVolumeOscillator, * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorLongPeriod={8} /> * ``` */ get indicatorLongPeriod(): number; set indicatorLongPeriod(v: number); /** * The signal period of financial indicators, where applicable. * * The `IndicatorSignalPeriod` property applies to only to MovingAverageConvergenceDivergence indicator type. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorSignalPeriod ={8} /> * ``` */ get indicatorSignalPeriod(): number; set indicatorSignalPeriod(v: number); private _rangeSelectorOptions; /** * A FinancialChartRangeSelectorOptionCollection containing the available range selector options on the toolbar. */ get rangeSelectorOptions(): IgrFinancialChartRangeSelectorOptionCollection; set rangeSelectorOptions(v: IgrFinancialChartRangeSelectorOptionCollection); private _customIndicatorNames; /** * The names of custom indicators to add to the chart. * When CustomIndicatorNames is set, the ApplyCustomIndicators event will be raised for each custom indicator name. */ get customIndicatorNames(): IgrCustomIndicatorNameCollection; set customIndicatorNames(v: IgrCustomIndicatorNameCollection); get isVerticalZoomEnabled(): boolean; set isVerticalZoomEnabled(v: boolean); /** * Gets or sets stroke brush of major gridlines on x-axis of the zoom slider pane */ get zoomSliderXAxisMajorStroke(): string; set zoomSliderXAxisMajorStroke(v: string); /** * Gets or sets thickness of major gridlines on x-axis of the zoom slider pane */ get zoomSliderXAxisMajorStrokeThickness(): number; set zoomSliderXAxisMajorStrokeThickness(v: number); /** * Gets or sets weather or not a legend is visible between toolbar and chart's plot area */ get isLegendVisible(): boolean; set isLegendVisible(v: boolean); /** * Gets or sets minimum value on x-axis */ get xAxisMinimumValue(): Date; set xAxisMinimumValue(v: Date); /** * Gets or sets maximum value on x-axis */ get xAxisMaximumValue(): Date; set xAxisMaximumValue(v: Date); findByName(name: string): any; /** * Called by the UI framework to provide a UI container for rendering this control. * @param container * The UI container element. */ provideContainer(container: any): void; notifyInsertItem(source_: any, index: number, newItem: any): void; notifyRemoveItem(source_: any, index: number, oldItem: any): void; notifyClearItems(source_: any): void; notifySetItem(source_: any, index: number, oldItem: any, newItem: any): void; /** * Returns visuals as a serialized string. */ exportSerializedVisualData(): string; private _applyCustomIndicators; private _applyCustomIndicators_wrapped; /** * Event raised by the chart when custom indicator data is needed from the application. * During series rendering, event will be raised once for each value in the CustomIndicatorNames collection. */ get applyCustomIndicators(): (s: IgrFinancialChart, e: IgrFinancialChartCustomIndicatorArgs) => void; set applyCustomIndicators(ev: (s: IgrFinancialChart, e: IgrFinancialChartCustomIndicatorArgs) => void); } export interface IIgrFinancialChartProps extends IIgrXYChartProps { width?: string; height?: string; legend?: any; /** * Gets or sets the data for the chart to use. This can be overriden at the series and axis level. */ dataSource?: any[]; leftMargin?: number | string; isHorizontalZoomEnabled?: boolean | string; toolbarHeight?: number | string; /** * Gets or sets whether the Y-axis should use a logarithmic scale instead of a linear one. * Since log(-1) is imaginary and log(0) is undefined, it is recommended to enable this property only when the Y-axis minimum is greater than zero. */ yAxisIsLogarithmic?: boolean | string; /** * Gets or sets the base value to use in the log function when mapping the position of data items along the Y-axis. * This property is effective only when YAxisIsLogarithmic is true. */ yAxisLogarithmBase?: number | string; /** * Gets or sets the distance between each label and grid line along the Y-axis. * * The `YAxisInterval` determines how often to show a label, tickmark, and/or gridline along the y-axis. Set this property to a number less than the numeric range of the y-axis. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * yAxisInterval={20} * /> * ``` */ yAxisInterval?: number | string; /** * Gets or sets the data value corresponding to the minimum value of the Y-axis. * * The `YAxisMinimumValue` determines starting value of labels, tickmarks, and gridlines on the y-axis. * * ```ts * <IgrFinancialChart * yAxisMinimumValue={-200} * yAxisMaximumValue={1000} * dataSource={this.data} /> * ``` */ yAxisMinimumValue?: number | string; /** * Gets or sets the data value corresponding to the maximum value of the Y-axis. * * The `YAxisMaximumValue` determines ending value of labels, tickmarks, and gridlines on the y-axis. * * ```ts * <IgrFinancialChart * yAxisMinimumValue={-200} * yAxisMaximumValue={100} * dataSource={this.data} /> * ``` */ yAxisMaximumValue?: number | string; /** * Gets or sets the frequency of displayed minor lines along the Y-axis. * * The `YAxisMinorInterval` determines how often to show minor gridline along the y-axis. Set this property to a number less than the `YAxisInterval` and the numeric range of the y-axis. * * ```ts * <IgrFinancialChart * yAxisMinorInterval={50} * dataSource={this.data} /> * ``` */ yAxisMinorInterval?: number | string; /** * The type of series to display in the volume pane. * * Use the `VolumeType` property to set a type of all series that will be rendered in the volume pane, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * volumeType="Column" /> * ``` */ volumeType?: FinancialChartVolumeType | string; /** * The scaling mode of the X-axis. * * Use the `XAxisMode` property to plot data items without any breaks in data range (Ordinal mode) or with breaks in data range (Time mode) such as weekends/holidays. Note that the Ordinal axis mode is less expensive to use in the financial chart than the Time axis mode. * * ```ts * <IgrFinancialChart * xAxisMode="time" * dataSource={this.data} /> * ``` */ xAxisMode?: FinancialChartXAxisMode | string; /** * Gets or sets number of visible categories at maximum zooming level * This property works only with ordinal XAxisMode and it is overridden by chart's WindowRectMinWidth property */ xAxisZoomMaximumCategoryRange?: number | string; /** * Gets or sets starting category that chart will move its zoom window. Acceptable value is between 0 and number of data items * This property works only with ordinal XAxisMode and it is overridden by chart's WindowRect or WindowScaleHorizontal properties */ xAxisZoomToCategoryStart?: number | string; /** * Gets or sets maximum pixel span of series item that will be visible at maximum zooming level * This property ensures that series item does not get stretch above specified value. * This property works only with ordinal XAxisMode and it is overridden by chart's WindowRectMinWidth property */ xAxisZoomMaximumItemSpan?: number | string; /** * Gets or sets number of categories that the chart will zoom in and fill plot area * This property is overridden by chart's WindowRect or WindowScaleHorizontal properties */ xAxisZoomToCategoryRange?: number | string; /** * Gets or sets pixel span of series item that will be used to zoom chart such that the item has desired span * Chart will automatically zoom in until series item has specified pixel span. * This property works only with ordinal XAxisMode and it is overridden by chart's WindowRect or WindowScaleHorizontal properties */ xAxisZoomToItemSpan?: number | string; /** * The scaling mode of the Y-axis. * * Use the `YAxisMode` property to plot data items using their actual values (Numeric) or using percent changes from the first data point (PercentChange), e.g. * * ```ts * <IgrFinancialChart * yAxisMode={this.state.yAxisMode} * dataSource={this.data} /> * ``` */ yAxisMode?: FinancialChartYAxisMode | string; /** * A boolean property controlling the visibility of the toolbar. */ isToolbarVisible?: boolean | string; /** * The type of price series to display in the main chart. * * Use the `ChartType` property to set a type of series that will be used to render prices in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * chartType="Candle" * dataSource={this.data} /> * ``` */ chartType?: FinancialChartType | string; /** * Gets or sets Horizontal alignment of Y-axis labels. */ yAxisLabelHorizontalAlignment?: HorizontalAlignment | string; /** * A boolean indicating whether the chart should automatically zoom in vertically on the currently visible range of data. * When this property is set to true, panning and zooming along the X-axis will result in a corresponding zoom on the Y-axis, so that the visible range of data fills the zoom window as fully as possible. */ isWindowSyncedToVisibleRange?: boolean | string; /** * A collection indicating what financial indicator types to display on the Financial Chart. * * Use the `IndicatorTypes` property to set types of indicators that will be rendered below the price pane in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorTypes="ForceIndex" /> * ``` */ indicatorTypes?: IgrFinancialIndicatorTypeCollection | string; /** * A collection indicating what financial overlay types to display on the Financial Chart. * * Use the `OverlayTypes` property to set types of overlays that will be rendered behind price series in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * overlayType ="PriceChannel" /> * ``` */ overlayTypes?: IgrFinancialOverlayTypeCollection | string; /** * Gets or sets whether the large numbers on the Y-axis labels are abbreviated. */ yAxisAbbreviateLargeNumbers?: boolean | string; /** * Gets or sets the rendering resolution for all series in this chart. * Where n = Resolution, for every n horizontal pixels, combine all items into a single datapoint. When Resolution = 0, all datapoints will be rendered as graphical objects. Charts with a higher resolution will have faster performance. */ resolution?: number | string; /** * Gets or sets whether the x axis enhanced interval management should prefer to show all the labels if possible without collisions for supported types of category axes. This is for use with EnhancedIntervalMinimumCharacters = -1 and axes that have an integral interval. */ xAxisEnhancedIntervalPreferMoreCategoryLabels?: boolean | string; /** * Gets or sets whether the y axis enhanced interval management should prefer to show all the labels if possible without collisions for supported types of category axes. This is for use with EnhancedIntervalMinimumCharacters = -1 and axes that have an integral interval. */ yAxisEnhancedIntervalPreferMoreCategoryLabels?: boolean | string; /** * Gets or sets type of series to display in the zoom slider pane. * * Use the `ZoomSliderType` property to set a type of all series that will be rendered in the zoom pane, e.g. * * ```ts * <IgrFinancialChart * zoomSliderType="Candle" * dataSource={this.data} /> * ``` */ zoomSliderType?: FinancialChartZoomSliderType | string; /** * Gets or sets the palette used for coloring negative items of Waterfall chart type. * * Use the `NegativeBrushes` property to set a collection of brushes that will be used to render fill area of negative elements in the price pane, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * negativeBrushes="Red" /> * ``` */ negativeBrushes?: string[] | string; /** * Brushes to use for drawing negative elements, when using a chart type with contextual coloring, such as Waterfall. * * Use the `NegativeOutlines` property to set a collection of brushes that will be used to render outline of negative elements in the price pane, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * negativeOutlines= "Green"/> * ``` */ negativeOutlines?: string[] | string; /** * Brushes to use for filling financial overlays. * * Use the `OverlayBrushes` property to set a collection of brushes that will be used to render fill area of overlays in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * overlayBrushes="Green" /> * ``` */ overlayBrushes?: string[] | string; /** * Brushes to use for outlining financial overlays. * * Use the `OverlayOutlines` property to set a collection of brushes that will be used to render outlines of overlays in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * overlayOutlines="Red" /> * ``` */ overlayOutlines?: string[] | string; /** * Brushes to use for outlining volume series in the volume pane. * * Use the `VolumeOutlines` property to set a collection of brushes that will be used to render outline of multiple series in the volume pane of the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * volumeOutlines="Green" /> * ``` */ volumeOutlines?: string[] | string; /** * Brushes to use for filling volume series in the volume pane. * * Use the `VolumeBrushes` property to set a collection of brushes that will be used to render fill area of multiple series in the volume pane of the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * volumeBrushes="Green" /> * ``` */ volumeBrushes?: string[] | string; /** * Brushes to use for negative elements in financial indicators. * * Use the `IndicatorNegativeBrushes` property to set a collection of brushes that will be used to render negative elements of indicators in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorNegativeBrushes="Red"/> * ``` */ indicatorNegativeBrushes?: string[] | string; /** * Brushes to use for financial indicators. * * Use the `IndicatorBrushes` property to set a collection of brushes that will be used to render positive elements of indicators in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorBrushes="Green" /> * ``` */ indicatorBrushes?: string[] | string; /** * The outline thickness of volume series in the volume pane. * * Use the `VolumeThickness` property to set a number that will be used to render outline thickness of all series in the volume pane, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * volumeThickness= {2.5}/> * ``` */ volumeThickness?: number | string; /** * The outline thickness of financial overlays. * * Use the `OverlayThickness` property to set a number that will be used to render outline thickness of all overlays in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * overlayThickness ={2.5} /> * ``` */ overlayThickness?: number | string; /** * The multiplier of financial overlay, e.g. BollingerBands overlay. */ overlayMultiplier?: number | string; /** * The outline or stroke thickness of financial indicators. * * Use the `IndicatorThickness` property to set a number that will be used to render outline thickness of all indicators in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorThickness={2.5} /> * ``` */ indicatorThickness?: number | string; /** * The display types of financial indicators. * * Use the `IndicatorDisplayTypes` property to set display types that will determine whether render all indicators as area, lines, or columns in the Financial Chart control, e.g. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorDisplayTypes="line" /> * ``` */ indicatorDisplayTypes?: IgrIndicatorDisplayTypeCollection | string; /** * The period of financial indicators, where applicable. * * The `indicatorPeriod` property applies to only the `BollingerBands` overlay as well as to these indicators types: `AverageDirectionalIndex`, `AverageTrueRange`, `BollingerBandWidth`, `ChaikinVolatility`, `CommodityChannelIndex`, `DetrendedPriceOscillator`, `FastStochasticOscillator`, `ForceIndex`, `FullStochasticOscillator`, `MoneyFlowIndex`, `PriceChannelOverlay`, `RateOfChangeAndMomentum`, `RelativeStrengthIndex`, `SlowStochasticOscillator`, `StandardDeviation`, `StochRSI`, `TRIX`, `WilliamsPercentR` * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorPeriod={8} /> * ``` */ indicatorPeriod?: number | string; /** * The multiplier of financial indicators, e.g. BollingerBandWidth indicator. * * The `IndicatorMultiplier` property applies to only to BollingerBandWidth indicator type. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorMultiplier= {8} /> * ``` */ indicatorMultiplier?: number | string; /** * The smoothing period of financial indicators, where applicable. * * The `IndicatorSmoothingPeriod` property applies to only to `FullStochasticOscillator` indicator type. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorSmoothingPeriod={8} /> * ``` */ indicatorSmoothingPeriod?: number | string; /** * The short period of financial indicators, where applicable. * * The `IndicatorShortPeriod` property applies only to these indicator types: * * - AbsoluteVolumeOscillator, * - ChaikinOscillator, * - MovingAverageConvergenceDivergence, * - PercentagePriceOscillator, * - PercentageVolumeOscillator, * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorShortPeriod={8} /> * ``` */ indicatorShortPeriod?: number | string; /** * The long period of financial indicators, where applicable. * * The `IndicatorLongPeriod` property applies only to these indicator types: * * - AbsoluteVolumeOscillator, * - ChaikinOscillator, * - MovingAverageConvergenceDivergence, * - PercentagePriceOscillator, * - PercentageVolumeOscillator, * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorLongPeriod={8} /> * ``` */ indicatorLongPeriod?: number | string; /** * The signal period of financial indicators, where applicable. * * The `IndicatorSignalPeriod` property applies to only to MovingAverageConvergenceDivergence indicator type. * * ```ts * <IgrFinancialChart * width="100%" * height="400px" * dataSource={this.data} * indicatorSignalPeriod ={8} /> * ``` */ indicatorSignalPeriod?: number | string; /** * A FinancialChartRangeSelectorOptionCollection containing the available range selector options on the toolbar. */ rangeSelectorOptions?: IgrFinancialChartRangeSelectorOptionCollection | string; /** * The names of custom indicators to add to the chart. * When CustomIndicatorNames is set, the ApplyCustomIndicators event will be raised for each custom indicator name. */ customIndicatorNames?: IgrCustomIndicatorNameCollection | string; isVerticalZoomEnabled?: boolean | string; /** * Gets or sets stroke brush of major gridlines on x-axis of the zoom slider pane */ zoomSliderXAxisMajorStroke?: string; /** * Gets or sets thickness of major gridlines on x-axis of the zoom slider pane */ zoomSliderXAxisMajorStrokeThickness?: number | string; /** * Gets or sets weather or not a legend is visible between toolbar and chart's plot area */ isLegendVisible?: boolean | string; /** * Gets or sets minimum value on x-axis */ xAxisMinimumValue?: Date; /** * Gets or sets maximum value on x-axis */ xAxisMaximumValue?: Date; /** * Event raised by the chart when custom indicator data is needed from the application. * During series rendering, event will be raised once for each value in the CustomIndicatorNames collection. */ applyCustomIndicators?: (s: IgrFinancialChart, e: IgrFinancialChartCustomIndicatorArgs) => void; }