ag-charts-community
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
32 lines (31 loc) • 1 kB
TypeScript
export interface MeasuredLabel {
readonly text: string;
readonly width: number;
readonly height: number;
}
export interface PlacedLabel extends MeasuredLabel {
readonly index: number;
readonly x: number;
readonly y: number;
}
export interface PointLabelDatum {
readonly point: {
readonly x: number;
readonly y: number;
};
readonly size: number;
readonly label: MeasuredLabel;
}
interface Bounds {
readonly x: number;
readonly y: number;
readonly width: number;
readonly height: number;
}
/**
* @param data Points and labels for one or more series. The order of series determines label placement precedence.
* @param bounds Bounds to fit the labels into. If a label can't be fully contained, it doesn't fit.
* @returns Placed labels for the given series (in the given order).
*/
export declare function placeLabels(data: readonly (readonly PointLabelDatum[])[], bounds?: Bounds, padding?: number): PlacedLabel[][];
export {};