If using the new style context, re-declare this in your class to be the
React.ContextType
of your static contextType
.
Should be used with type annotation or static contextType.
static contextType = MyContext
// For TS pre-3.7:
context!: React.ContextType<typeof MyContext>
// For TS 3.7 and above:
declare context: React.ContextType<typeof MyContext>
Readonly
propsStatic
Optional
contextIf set, this.context
will be set at runtime to the current value of the given Context.
Usage:
type MyContext = number
const Ctx = React.createContext<MyContext>(0)
class Foo extends React.Component {
static contextType = Ctx
context!: React.ContextType<typeof Ctx>
render () {
return <>My context's value: {this.context}</>;
}
}
Gets the effective value for the current Interval.
let effectiveInterval: number = xAxis.actualInterval;
Gets or sets the ActualMajorStroke property.
The ActualMajorStroke
property is used for ActualMajorStroke of the axis.
Gets the effective value for the current MinorInterval.
let effectiveMinorInterval: number = xAxis.actualMinorInterval;
Gets or sets the ActualMinorStroke property.
The ActualMinorStroke
property is used for ActualMinorStroke of the axis.
Gets or sets the effective stroke used for the axis.
Gets the current annotations for the axis.
Gets or sets the coercion methods to use when loading data from data sources. Should be specified before setting any member paths, if being used. Setting it later will not cause data to be re-imported into the chart.
The coercionMethods
methods is to use when loading data from data sources. Should be specified before setting any member paths, if being used.
Setting it later will not cause data to be reimported into the chart.
Gets or sets the CrossingAxis property.
The CrossingAxis
property is used for CrossingAxis .
<IgrDataChart
dataSource={this.state.dataSource} >
<IgrNumericXAxis name="xAxis" />
<IgrNumericYAxis name="yAxis"
crossingAxisName= "xAxis"
crossingValue= {700}/>
</IgrDataChart>
Gets or sets the name to use to resolve crossingAxis from markup.
Gets or sets the CrossingValue property.
The CrossingValue
property is used for CrossingValue of the axis.
<IgrDataChart
dataSource={this.state.dataSource} >
<IgrNumericXAxis name="xAxis" />
<IgrNumericYAxis name="yAxis"
crossingAxis= "xAxis"
crossingValue= {700}/>
</IgrDataChart>
Gets or sets the DateTime mapping property for the axis.
Gets or sets the minimum desired characters to be displayed for horizontal axes when using advanced label heuristics. -1 will attempt to adjust the interval to precisely fit the horizontal labels.
The EnhancedIntervalMinimumCharacters
property is used to set the mininum desired characters to be displayed for horizontal axes when using advanced label heuristics.
Gets or sets whether the 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.
Gets or sets whether the series should expect that properties in its items source may be functions that need to be evaluated to yield their value. This defaults to false, as there will be a subtle performance impact to using this feature. This value must be set before assigning an item's source to take effect.
Sets or gets a function which takes an object that produces a formatted label for displaying in the chart.
The FormatLabel
function takes an object that produces a formatted label for displaying in the chart.
<IgrDataChart dataSource={this.data} >
<IgrCategoryXAxis
name="xAxis"
FormatLabel="xAxis_FormatLabel" />
</IgrDataChart>
Sets or gets a function which takes an object that produces a formatted label for displaying in the chart.
The FormatLabel
function takes an object that produces a formatted label for displaying in the chart.
<IgrDataChart dataSource={this.data} >
<IgrCategoryXAxis
name="xAxis"
FormatLabel="xAxis_FormatLabel" />
</IgrDataChart>
Gets or sets the amount of space between adjacent categories for the current axis object. The gap is silently clamped to the range [0, 1] when used.
Use the Gap
property to configure the spacing between items on a category axis with item spacing.
A Gap
of 0 allocates no space between items. A Gap
of 1 allocates a space between items equal to the width of one item.
To set the item spacing to 75% the width of one item, set the Gap
to 0.75, as in this code:
<IgrDataChart
ref={this.onChartRef}
dataSource={this.state.dataSource} >
<IgrCategoryXAxis name="xAxis" gap={0.4} />
<IgrNumericYAxis name="yAxis" />
<IgrColumnSeries
name="series1"
xAxisName="xAxis"
yAxisName="yAxis"
valueMemberPath="Value" />
</IgrDataChart>
Gets or sets the frequency of displayed labels. The set value is a factor that determines which labels will be hidden. For example, an interval of 2 will display every other label.
Interval
determines how often to show a label, tickmark, and/or gridline along the x-axis. Set this property to n to display a label every nth item.
<IgrDataChart
dataSource={this.state.dataSource} >
<IgrCategoryXAxis name="xAxis" interval="3" />
<IgrNumericYAxis name="yAxis" />
<IgrLineSeries
name="series1"
xAxisName="xAxis"
yAxisName="yAxis"
valueMemberPath="Value"/>
</IgrDataChart>
Gets if the current axis is of angular axis type
Checks if the axis is of category axis type
Gets if the current axis is of category date time axis type
Gets if the current axis is a continuous rather than a discrete scale
Gets or sets if the current axis is of date time axis type
Gets or sets the IsDisabled property. If true, the axis will not be rendered.
The IsDisabled
property is used to decide if the axis will not be rendered.
Gets or sets the IsInverted property.
Gets or sets the IsInverted
property.
Gets or sets if the current axis is of numeric axis type
Gets or sets if the current axis is of numeric axis type
Gets or sets if the current axis is of ordinal axis type
Gets or sets if the axis is a piecewise scaling function.
Gets or sets if the current axis is of radial axis type
Gets or sets if the current axis is sorting data items
Gets if the current axis is a vertical axis.
Gets the number of items in the current category axis items source.
Gets or sets the axis label format string.
The Label
property is used for label mapping of the axis labels.
<IgrCategoryXAxis name="xAxis"
label="Country"
labelTextStyle="9pt Verdana"
labelTopMargin={5}
labelTextColor="gray" />
Gets or sets the angle of the {0}.
The Angle
property is used to set the angle of the axis.
<IgrDataChart
dataSource={this.state.dataSource}
width="700px"
height="500px">
<IgrCategoryXAxis name="xAxis"
label="Year"
titleAngle={90} />
<IgrNumericYAxis name="yAxis" />
</IgrDataChart>
<IgrCategoryXAxis name="xAxis"
title="Country"
titleTextColor="gray"
titleTextStyle="12pt Verdana"
titleAngle={90} />
Margin applied below the {0}.
The labelBottomMargin
is used to set the bottom margin of the labels.
Distance between the axis and the edge of the control.
The Extent
property is used for the extent.
<IgrDataChart
dataSource={this.state.dataSource}
width="700px"
height="500px">
<IgrCategoryXAxis name="xAxis"
label="Year"/>
<IgrNumericYAxis name="yAxis" />
</IgrDataChart>
Gets or sets the label format string to use for the label.
Gets or sets the format specifiers to use with the LabelFormat string.
A list of axis label formats to apply, which are selected according to the visible axis range. The label format selected will be the one with the largest range smaller than the visible range of the axis.
You can use the LabelFormats
for adjusting the labels depending on the range of the time shown by the chart.
let labelFormat = new TimeAxisLabelFormat();
labelFormat.format = "hh:mm:ss";
labelFormat.range = 1000;
this.xAxis.labelFormats.add(labelFormat);
labelFormat = new TimeAxisLabelFormat();
labelFormat.format = "hh:mm";
labelFormat.range = 60 * 1000;
this.xAxis.labelFormats.add(labelFormat);
labelFormat = new TimeAxisLabelFormat();
labelFormat.format = "MMM-dd-yy";
labelFormat.range = 24 * 60 * 60 * 1000;
this.xAxis.labelFormats.add(labelFormat);
labelFormat = new TimeAxisLabelFormat();
labelFormat.format = "MMM yy";
labelFormat.range = 365.24 * 24 * 60 * 60 * 1000;
this.xAxis.labelFormats.add(labelFormat);
labelFormat = new TimeAxisLabelFormat();
labelFormat.format = "yyyy";
labelFormat.range = 5 * 365 * 24 * 60 * 60 * 1000;
this.xAxis.labelFormats.add(labelFormat);
<IgrDataChart
dataSource={this.state.dataSource}
width="700px"
height="500px">
<IgrOrdinalTimeXAxis name="xAxis"
label="Date"
labelFormats="labelFormats" />
<IgrNumericYAxis name="yAxis" />
</IgrDataChart>
Gets or sets the horizontal alignment of the {0}.
The HorizontalAlignment
property is used for the horizontal alignment.
Margin applied to the left of the {0}.
The labelLeftMargin
property is used for the left margin of the labels.
Gets or sets the location of the {0}.
The Location
property is used for the location.
Margin applied to the right of the {0}.
The labelRightMargin
property is used for the right margin of the labels.
Gets or sets whether the first label is displayed when the zoom level is set to 1.
The ShowFirstLabel
is used to check whether the first label is displayed when the zoom level is set to 1.
The color of the {0}.
The labelTextColor
property Overrides the color of the text used for the axis labels.
<IgrDataChart
dataSource={this.state.dataSource}
width="700px"
height="500px">
<IgrCategoryXAxis name="xAxis"
label="Year"
labelTextColor="gray" />
<IgrNumericYAxis name="yAxis" />
</IgrDataChart>
<IgrCategoryXAxis name="xAxis"
title="Country"
titleTextColor="gray"
titleTextStyle="12pt Verdana"
titleAngle={90} />
Gets or sets the text style to use for axis labels.
The labelTextStyle
property Overrides the style of the text used for the axis labels.
<IgrDataChart
dataSource={this.state.dataSource}
width="700px"
height="500px">
<IgrCategoryXAxis name="xAxis"
label="Year"
titleTextStyle="12pt Verdana" />
<IgrNumericYAxis name="yAxis" />
</IgrDataChart>
<IgrCategoryXAxis name="xAxis"
title="Country"
titleTextColor="gray"
titleTextStyle="12pt Verdana"
titleAngle={90} />
Margin applied above the {0}.
The labelTopMargin
property is used for the top margin of the labels.
<IgrCategoryXAxis name="xAxis"
label="Country"
labelTextStyle="9pt Verdana"
labelTopMargin={5}
labelTextColor="gray" />
Gets or sets the vertical alignment of the {0}.
The VerticalAlignment
property is used for the vertical alignment of the axis.
Gets or sets the visibility of the {0}.
The Visibility
property is used for the visibility of the axis.
Gets or sets the labelling mode to use when the automatic label formats are applied.
Gets or sets the MajorStroke property. Null is treated as auto. Major lines will be displayed or not based on the axis type and series used with it.
Gets or sets the MajorStroke
using this property.
<IgrNumericYAxis name="yAxis"
interval={100}
majorStroke="black"
majorStrokeThickness={1}
minorInterval={25}
minorStroke="gray"
minorStrokeThickness={0.5} />
Gets or sets the MajorStrokeDashArray property.
Gets or sets the MajorStrokeThickness property.
Gets or sets the MajorStrokeThickness
using this property.
<IgrNumericYAxis name="yAxis"
interval={100}
majorStroke="black"
majorStrokeThickness={1}
minorInterval={25}
minorStroke="gray"
minorStrokeThickness={0.5} />
Gets or sets the maximum gap value to allow. This defaults to 1.0.
Sets the maximum DateTime value to be displayed on this axis. This property can be used to constrain the items displayed on the axis, within the range of DateTimes in the ItemsSource. It will ignore any setting outside the actual range of data.
Gets or sets the minimum amount of pixels to use for the gap between categories, if possible.
Sets the minimum DateTime value to be displayed on this axis. This property can be used to constrain the items displayed on the axis, within the range of DateTimes in the ItemsSource. It will ignore any setting outside the actual range of data.
Gets or sets the frequency of displayed minor lines. The set value is a factor that determines how the minor lines will be displayed.
MinorInterval
determines how often to show a minor gridline along the x-axis. This property is relevant only when the displayed series is a type with grouping, like column series.
MinorInterval
is expressed as a number between 0 and 1, representing the frequency of the interval. To display minor gridlines representing 10ths of an item width, set MinorInterval
to 0.1.
<IgrDataChart
dataSource={this.state.dataSource} >
<IgrCategoryXAxis name="xAxis"
minorInterval={0.1}
minorStroke="green"
minorStrokeThickness={1} />
<IgrNumericYAxis name="yAxis" />
<IgrLineSeries
name="series1"
xAxisName="xAxis"
yAxisName="yAxis"
valueMemberPath="value"/>
</IgrDataChart>
Gets or sets the MinorStroke property.
Gets or sets the minorStroke thickness using MinorStrokeThickness
property.
<IgrNumericYAxis name="yAxis"
interval={100}
majorStroke="black"
majorStrokeThickness={1}
minorInterval={25}
minorStroke="gray"
minorStrokeThickness={0.5} />
Gets or sets the MinorStrokeDashArray property.
Gets or sets the MinorStrokeThickness property.
Gets or sets the amount of overlap between adjacent categories for the current axis object. The overlap is silently clamped to the range [-1, 1] when used.
Use the Overlap
property to configure the spacing between items on a category axis with item spacing and more than one series.
An Overlap
of 0 places grouped items adjacent to each other. An Overlap
of 1 places grouped items in the same axis space, completely overlapping. An Overlap
of -1 places a space between grouped items equal to the width of one item.
To place grouped items with 75% overlap, set the Overlap
to 0.75, as in this code:
<IgrDataChart
dataSource={this.state.dataSource} >
<IgrCategoryXAxis name="xAxis" overlap={1} />
<IgrNumericYAxis name="yAxis" />
<IgrColumnSeries
name="series1"
xAxisName="xAxis"
yAxisName="yAxis"
valueMemberPath="Value"
/>
</IgrDataChart>
Occurs when the axis range changes.
Occurs when the axis range changes.
This event is raised every time a render has been requested from a series.
This event is raised every time a render has been requested from a series.
Gets or sets whether annotations should be shifted to avoid collision, even if this would result in them appearing where they shouldn't be along the scale.
ets or sets whether annotations should be kept in view, even if they aren't positioned where they should appear on the scale.
Gets or sets the Strip property.
Use Strip
property to set the strip of the chart.
<IgrCategoryChart
ref={this.onChartRef}
width="100%"
height="100%"
dataSource={this.data}
titleTopMargin={5}
xAxisStrip="gray"/>
Gets or sets the Stroke property. Null is treated as auto. The axis stroke will be displayed or not based on the axis type and series used with it.
Use Stroke
property to set the stroke of the chart.
<IgrCategoryChart
ref={this.onChartRef}
width="100%"
height="100%"
dataSource={this.data}
titleTopMargin={5}
xAxisStroke="gray"/>
Gets or sets the StrokeDashArray property.
Gets or sets the StrokeThickness property.
Use StrokeThickness
property for the thickness of the stroke.
<IgrCategoryChart
ref={this.onChartRef}
width="100%"
height="100%"
dataSource={this.data}
titleTopMargin={5}
xAxisStrokeThickness={2}>
Gets or sets the TickLength property.
Use TickLength
property for The length of the tickmarks to display for this axis.
<IgrCategoryXAxis name="xAxis"
tickLength={10}
tickStrokeThickness={0.5}
tickStroke="black" />
Gets or sets the TickStroke property.
Use TickStroke
property for the color of the tickmarks.
<IgrCategoryXAxis name="xAxis"
tickLength={10}
tickStrokeThickness={0.5}
tickStroke="black" />
Gets or sets the TickStrokeDashArray property.
Gets or sets the TickStrokeThickness property.
Use TickStrokeThickness
property for thickness of the stroke tickmarks.
<IgrCategoryXAxis name="xAxis"
tickLength={10}
tickStrokeThickness={0.5}
tickStroke="black" />
Gets or sets the Title property.
Use Title
property to display the title of the component.
<IgrCategoryXAxis name="xAxis"
title="Country"
titleTextColor="gray"
titleTextStyle="12pt Verdana"
titleAngle={90} />
Gets or sets the angle of the {0}.
The Angle
property is used to set the angle of the axis.
<IgrDataChart
dataSource={this.state.dataSource}
width="700px"
height="500px">
<IgrCategoryXAxis name="xAxis"
label="Year"
titleAngle={90} />
<IgrNumericYAxis name="yAxis" />
</IgrDataChart>
<IgrCategoryXAxis name="xAxis"
title="Country"
titleTextColor="gray"
titleTextStyle="12pt Verdana"
titleAngle={90} />
Margin applied below the {0}.
The labelBottomMargin
is used to set the bottom margin of the labels.
Distance between the axis and the edge of the control.
The Extent
property is used for the extent.
<IgrDataChart
dataSource={this.state.dataSource}
width="700px"
height="500px">
<IgrCategoryXAxis name="xAxis"
label="Year"/>
<IgrNumericYAxis name="yAxis" />
</IgrDataChart>
Gets or sets the horizontal alignment of the {0}.
The HorizontalAlignment
property is used for the horizontal alignment.
Margin applied to the left of the {0}.
The labelLeftMargin
property is used for the left margin of the labels.
Gets or sets the location of the {0}.
The Location
property is used for the location.
Gets or sets the title position relative to the axis labels.
Margin applied to the right of the {0}.
The labelRightMargin
property is used for the right margin of the labels.
Gets or sets whether the first label is displayed when the zoom level is set to 1.
The ShowFirstLabel
is used to check whether the first label is displayed when the zoom level is set to 1.
The color of the {0}.
The labelTextColor
property Overrides the color of the text used for the axis labels.
<IgrDataChart
dataSource={this.state.dataSource}
width="700px"
height="500px">
<IgrCategoryXAxis name="xAxis"
label="Year"
labelTextColor="gray" />
<IgrNumericYAxis name="yAxis" />
</IgrDataChart>
<IgrCategoryXAxis name="xAxis"
title="Country"
titleTextColor="gray"
titleTextStyle="12pt Verdana"
titleAngle={90} />
Gets or sets the text style to use for axis labels.
The labelTextStyle
property Overrides the style of the text used for the axis labels.
<IgrDataChart
dataSource={this.state.dataSource}
width="700px"
height="500px">
<IgrCategoryXAxis name="xAxis"
label="Year"
titleTextStyle="12pt Verdana" />
<IgrNumericYAxis name="yAxis" />
</IgrDataChart>
<IgrCategoryXAxis name="xAxis"
title="Country"
titleTextColor="gray"
titleTextStyle="12pt Verdana"
titleAngle={90} />
Margin applied above the {0}.
The labelTopMargin
property is used for the top margin of the labels.
<IgrCategoryXAxis name="xAxis"
label="Country"
labelTextStyle="9pt Verdana"
labelTopMargin={5}
labelTextColor="gray" />
Gets or sets the vertical alignment of the {0}.
The VerticalAlignment
property is used for the vertical alignment of the axis.
Gets or sets the visibility of the {0}.
The Visibility
property is used for the visibility of the axis.
Gets or sets whether the category axis should use clustering display mode even if no series are present that would force clustering mode.
UseClusteringMode
applies grouping and spacing to a category axis equivalent to the grouping that occurs when grouping series, such as ColumnSeries, are used.
Try setting it on an axis displaying financial series to adjust the spacing on the left and right sides of the axis:
<IgrDataChart
dataSource={this.state.dataSource} >
<IgrCategoryXAxis name="xAxis" useClusteringMode={2} />
<IgrNumericYAxis name="yAxis" />
<IgrColumnSeries
name="series1"
xAxisName="xAxis"
yAxisName="yAxis"
valueMemberPath="Value" />
</IgrDataChart>
Gets or sets whether to use more advanced heuristics when determining the initial number of labels to render, before resolving collisions, etc.
Use UseEnhancedIntervalManagement
property to gets/sets whether to use more advanced heuristics when determining the initial number of labels to render,
before resolving collisions, etc.
Gets or sets whether to use label height measurement when determining the initial number of labels to render, before resolving collisions, etc.
Gets or sets number of visible categories at maximum zooming level This property is overridden by chart's WindowRectMinWidth property
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 is overridden by chart's WindowRectMinWidth property
Gets or sets range of categories that the chart will zoom in to and fill plot area This property is overridden by chart's WindowRect or WindowScaleHorizontal properties
Gets or sets starting category that chart will move its zoom window. Acceptable value is between 0 and number of data items This property is overridden by chart's WindowRect or WindowScaleHorizontal properties
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 is overridden by chart's WindowRect or WindowScaleHorizontal properties
Optional
UNSAFE_Called immediately before mounting occurs, and before Component#render
.
Avoid introducing any side-effects or subscriptions in this method.
This method will not stop working in React 17.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
16.3, use componentDidMount or the constructor instead
Optional
UNSAFE_Called when the component may be receiving new props. React may call this even if props have not changed, so be sure to compare new and existing props if you only want to handle changes.
Calling Component#setState
generally does not trigger this method.
This method will not stop working in React 17.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
16.3, use static getDerivedStateFromProps instead
Optional
UNSAFE_Called immediately before rendering when new props or state is received. Not called for the initial render.
Note: You cannot call Component#setState
here.
This method will not stop working in React 17.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
16.3, use getSnapshotBeforeUpdate instead
Optional
componentOptional
componentCalled immediately after updating occurs. Not called for the initial render.
The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.
Optional
componentCalled immediately before mounting occurs, and before Component#render
.
Avoid introducing any side-effects or subscriptions in this method.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
16.3, use componentDidMount or the constructor instead; will stop working in React 17
Optional
componentCalled when the component may be receiving new props. React may call this even if props have not changed, so be sure to compare new and existing props if you only want to handle changes.
Calling Component#setState
generally does not trigger this method.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
16.3, use static getDerivedStateFromProps instead; will stop working in React 17
Optional
componentOptional
componentCalled immediately before rendering when new props or state is received. Not called for the initial render.
Note: You cannot call Component#setState
here.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17
Optional
getRuns before React applies the result of render
to the document, and
returns an object to be given to componentDidUpdate. Useful for saving
things such as scroll position before render
causes changes to it.
Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated lifecycle events from running.
Static
_create
A horizontal axis that uses an ordinal DateTime scale. On an ordinal time axis, datapoints are aligned according to their order in the ItemsSource, like a category axis.
You can use the
OrdinalTimeXAxis
to display dates at equidistant.