UNPKG

igniteui-react-charts

Version:

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

109 lines (106 loc) 3.52 kB
import { ConsolidatedItemsPosition_$type } from "./ConsolidatedItemsPosition"; import { IgrHorizontalAnchoredCategorySeries } from "./igr-horizontal-anchored-category-series"; import { ColumnSeries } from "./ColumnSeries"; import { ensureEnum, toPoint, fromRect } from "igniteui-react-core"; /** * Represents a IgxDataChartComponent column series. * Compare values across categories by using vertical rectangles. * Use it when the order of categories is not important or for displaying * item counts such as a histogram. * * ```ts * <IgrDataChart * ref={this.onChartRef} * dataSource={this.data}> * * <IgrCategoryXAxis name="xAxisYears"/> * <IgrCategoryXAxis name="xAxisMonths" /> * <IgrNumericYAxis name="yAxisLeft" /> * <IgrNumericYAxis name="yAxisRight" /> * * <IgrColumnSeries name="series1" * valueMemberPath="volume" * xAxisName="xAxisMonths" * yAxisName="yAxisLeft" * isTransitionInEnabled="true" /> * </IgrDataChart> * ``` * * ```ts * this.columnSeries1 = new IgrColumnSeries({ name: "colSeries1" }); * this.columnSeries1.dataSource = this.categoryData; * this.columnSeries1.xAxis = this.categoryXAxis; * this.columnSeries1.yAxis = this.numericYAxis; * this.columnSeries1.xAxisName = "categoryXAxis"; * this.columnSeries1.yAxisName = "numericYAxis"; * this.columnSeries1.valueMemberPath = "volume"; * ``` */ export class IgrColumnSeries extends IgrHorizontalAnchoredCategorySeries { createImplementation() { return new ColumnSeries(); } /** * @hidden */ get i() { return this._implementation; } constructor(props) { super(props); } /** * Gets whether the current series shows a column shape. */ get isColumn() { return this.i.e1; } /** * Overridden by derived series classes to indicate when marker-less display is preferred or not. */ get isMarkerlessDisplayPreferred() { return this.i.fm; } /** * Gets or sets the x-radius of the ellipse that is used to round the corners of the column. */ get radiusX() { return this.i.ac7; } set radiusX(v) { this.i.ac7 = +v; } /** * Gets or sets the y-radius of the ellipse that is used to round the corners of the column. */ get radiusY() { return this.i.ac8; } set radiusY(v) { this.i.ac8 = +v; } /** * The positioning logic to use for columns which have been consolidated into a single visual element. */ get consolidatedColumnVerticalPosition() { return this.i.ac5; } set consolidatedColumnVerticalPosition(v) { this.i.ac5 = ensureEnum(ConsolidatedItemsPosition_$type, v); } /** * If possible, will return the best available value bounding box within the series that has the best value match for the world position provided. * @param world * The world coordinate for which to get a value bounding box for */ getSeriesValueBoundingBox(world) { let iv = this.i.ws(toPoint(world)); return fromRect(iv); } /** * For a category plotted series, returns the current width of the items within the categories. This only returns a value if the items have some form of width (e.g. columns, bars, etc.) otherwise 0 is returned. */ getItemSpan() { let iv = this.i.ix(); return (iv); } }