import { Axis, type CreateXYAxisSeriesOptions, EdgeRenderingMode, type IRenderContext, LineStyle, MarkerType, type OxyColor, type OxyRect, type ScreenPoint, TrackerHitResult, type TrackerStringFormatterArgs, XYAxisSeries } from '..'; export interface CreateBoxPlotSeriesOptions extends CreateXYAxisSeriesOptions { boxWidth?: number; fill?: OxyColor; items?: BoxPlotItem[]; lineStyle?: LineStyle; medianPointSize?: number; medianThickness?: number; meanPointSize?: number; meanThickness?: number; outlierSize?: number; outlierType?: MarkerType; showBox?: boolean; showMedianAsDot?: boolean; showMeanAsDot?: boolean; stroke?: OxyColor; strokeThickness?: number; whiskerWidth?: number; trackerStringFormatter?: BoxPlotSeriesTrackerStringFormatterType; outlierOutline?: ScreenPoint[]; } export interface BoxPlotSeriesTrackerStringFormatterArgs extends TrackerStringFormatterArgs { item?: BoxPlotItem; upperWhisker?: number; boxTop?: number; median?: number; boxBottom?: number; lowerWhisker?: number; mean?: number; } export type BoxPlotSeriesTrackerStringFormatterType = (args: BoxPlotSeriesTrackerStringFormatterArgs) => string | undefined; export interface BoxPlotSeriesOutlierTrackerStringFormatterArgs extends TrackerStringFormatterArgs { item?: BoxPlotItem; outlier?: number; } export type BoxPlotSeriesOutlierTrackerStringFormatterType = (args: BoxPlotSeriesOutlierTrackerStringFormatterArgs) => string | undefined; export declare const DefaultBoxPlotSeriesOptions: CreateBoxPlotSeriesOptions; export declare const ExtendedDefaultBoxPlotSeriesOptions: { boxWidth?: number | undefined; fill?: string | undefined; items?: BoxPlotItem[] | undefined; lineStyle?: LineStyle | undefined; medianPointSize?: number | undefined; medianThickness?: number | undefined; meanPointSize?: number | undefined; meanThickness?: number | undefined; outlierSize?: number | undefined; outlierType?: MarkerType | undefined; showBox?: boolean | undefined; showMedianAsDot?: boolean | undefined; showMeanAsDot?: boolean | undefined; stroke?: string | undefined; strokeThickness?: number | undefined; whiskerWidth?: number | undefined; trackerStringFormatter?: BoxPlotSeriesTrackerStringFormatterType | undefined; outlierOutline?: ScreenPoint[] | undefined; xAxisKey?: string | undefined; yAxisKey?: string | undefined; itemsSource?: any[] | undefined; background?: string | undefined; isVisible?: boolean | undefined; title?: string | undefined; legendKey?: string | undefined; seriesGroupName?: string | undefined; renderInLegend?: boolean | undefined; trackerKey?: string | undefined; font?: string | undefined; fontSize?: number | undefined; fontWeight?: number | undefined; tag?: any; textColor?: string | undefined; edgeRenderingMode?: EdgeRenderingMode | undefined; toolTip?: string | undefined; selectable?: boolean | undefined; selectionMode?: import('..').SelectionMode | undefined; DefaultXYAxisSeriesOptions: CreateXYAxisSeriesOptions; }; /** * Represents a series for box plots. */ export declare class BoxPlotSeries extends XYAxisSeries { /** * The default tracker formatter */ static readonly DefaultTrackerFormatString: BoxPlotSeriesTrackerStringFormatterType; static readonly DefaultOutlierTrackerFormatString: BoxPlotSeriesOutlierTrackerStringFormatterType; /** * The items from the items source. */ private _itemsSourceItems; /** * Initializes a new instance of the BoxPlotSeries class. */ constructor(opt?: CreateBoxPlotSeriesOptions); getElementName(): string; trackerStringFormatter?: BoxPlotSeriesTrackerStringFormatterType; /** * Gets or sets the width of the boxes (specified in x-axis units). */ boxWidth: number; /** * Gets or sets the fill color. If undefined, this color will be automatically set. */ fill: OxyColor; /** * Gets or sets the box plot items. */ items: BoxPlotItem[]; /** * Gets or sets the line style. */ lineStyle: LineStyle; /** * Gets or sets the size of the median point. * This property is only used when showMedianAsDot = true. */ medianPointSize: number; /** * Gets or sets the median thickness, relative to the strokeThickness. */ medianThickness: number; /** * Gets or sets the size of the mean point. * This property is only used when showMeanAsDot = true. */ meanPointSize: number; /** * Gets or sets the mean thickness, relative to the strokeThickness. */ meanThickness: number; /** * Gets or sets the diameter of the outlier circles (specified in points). */ outlierSize: number; /** * Gets or sets the tracker formatter for the outliers. * Use {0} for series title, {1} for x- and {2} for y-value. */ outlierTrackerStringFormatter: BoxPlotSeriesOutlierTrackerStringFormatterType; /** * Gets or sets the type of the outliers. * MarkerType.Custom is currently not supported. */ outlierType: MarkerType; /** * Gets or sets a custom polygon outline for the outlier markers. Set outlierType to MarkerType.Custom to use this property. */ outlierOutline?: ScreenPoint[]; /** * Gets or sets a value indicating whether to show the boxes. */ showBox: boolean; /** * Gets or sets a value indicating whether to show the median as a dot. */ showMedianAsDot: boolean; /** * Gets or sets a value indicating whether to show the mean as a dot. */ showMeanAsDot: boolean; /** * Gets or sets the stroke color. */ stroke: OxyColor; /** * Gets or sets the stroke thickness. */ strokeThickness: number; /** * Gets or sets the width of the whiskers (relative to the boxWidth). */ whiskerWidth: number; /** * Gets the list of items that should be rendered. */ protected get actualItems(): BoxPlotItem[]; /** * Gets the nearest point. */ getNearestPoint(point: ScreenPoint, interpolate: boolean): TrackerHitResult | undefined; /** * Determines whether the specified item contains a valid point. */ isValidPointBoxPlot(item: BoxPlotItem, xaxis: Axis, yaxis: Axis): boolean; /** * Renders the series on the specified render context. * @param rc The rendering context. */ render(rc: IRenderContext): Promise; /** * Renders the legend symbol on the specified rendering context. * @param rc The rendering context. * @param legendBox The legend rectangle. */ renderLegend(rc: IRenderContext, legendBox: OxyRect): Promise; /** * Updates the data. * @internal */ updateData(): void; /** * Updates the maximum and minimum values of the series. * @internal */ updateMaxMin(): void; /** * Updates the max and min of the series. * @param items The items. */ protected internalUpdateBoxPlotMaxMin(items: BoxPlotItem[]): void; /** * Gets the item at the specified index. * @param i The index of the item. * @returns The item of the index. */ protected getItem(i: number): any; /** * Gets the screen rectangle for the box. * @param item The box item. * @returns A rectangle. */ private getBoxRect; /** * Clears or creates the itemsSourceItems list. */ private clearItemsSourceItems; protected getElementDefaultValues(): any; } /** * Represents an item in a BoxPlotSeries. */ export interface BoxPlotItem { /** * Gets or sets the box bottom value (usually the 25th percentile, Q1). */ boxBottom: number; /** * Gets or sets the box top value (usually the 75th percentile, Q3)). */ boxTop: number; /** * Gets or sets the lower whisker value. */ lowerWhisker: number; /** * Gets or sets the median. */ median: number; /** * Gets or sets the mean. */ mean?: number; /** * Gets or sets the outliers. */ outliers: number[]; /** * Gets or sets the tag. */ tag?: any; /** * Gets or sets the upper whisker value. */ upperWhisker: number; /** * Gets or sets the X value. */ x: number; } //# sourceMappingURL=BoxPlotSeries.d.ts.map