@amcharts/amcharts5
Version:
amCharts 5
123 lines • 4.52 kB
TypeScript
import type { HierarchyNode } from "../hierarchy/HierarchyNode";
import type { DataItem } from "../../core/render/Component";
import { Hierarchy, IHierarchyPrivate, IHierarchySettings, IHierarchyDataItem } from "../hierarchy/Hierarchy";
import { ListTemplate } from "../../core/util/List";
import { Polygon } from "../../core/render/Polygon";
export interface IVoronoiTreemapDataObject {
name?: string;
value?: number;
children?: IVoronoiTreemapDataObject[];
dataItem?: DataItem<IVoronoiTreemapDataItem>;
}
export interface IVoronoiTreemapDataItem extends IHierarchyDataItem {
/**
* Data items of child nodes.
*/
children: Array<DataItem<IVoronoiTreemapDataItem>>;
/**
* Data item of a parent node.
*/
parent: DataItem<IVoronoiTreemapDataItem>;
/**
* A [[Polygon]] element of a node.
*/
polygon: Polygon;
}
export interface IVoronoiTreemapSettings extends IHierarchySettings {
/**
* Type of the diagram's shape.
*
* @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/voronoi-treemap/#Diagram_type} for more info
* @default "polygon"
*/
shapeType?: "rectangle" | "polygon";
/**
* Type of the diagram's shape.
* Left for backward compatibility. Please use `shapeType` instead.
* @ignore
*/
type?: "rectangle" | "polygon";
/**
* Number of corners when `shapeType` is `"polygon"`.
*
* `120` means the polygon will look like a circle.
*
* NOTE: this setting is ignored if `shapeType="rectangle"`.
*
* @default 120
*/
cornerCount?: number;
/**
* Minimum weight ratio which allows computing the minimum allowed
* weight (`= [maximum weight] * minWeightRatio`).
*
* Setting very small `minWeightRatio` might result in flickering.
*
* NOTE: the nodes that have smaller weight will be scaled up and will not
* represent their true value correctly.
*
* @default 0.005
*/
minWeightRatio?: number;
/**
* The convergence ratio in Voronoi treemaps measures how well the treemap
* layout represents the hierarchical structure of the underlying data.
*
* It is calculated as the ratio of the summed area of the smallest enclosing
* rectangle for each cell to the total area of the treemap. A lower
* convergence ratio indicates a better representation of the hierarchy,
* meaning that the cells are closely packed and the treemap effectively
* captures the nested relationships between the data elements.
*
* @default 0.005
*/
convergenceRatio?: number;
/**
* Maximum allowed number of iterations when computing the layout.
*
* Computation is stopped when it number of iterations is reached, even if
* the `convergenceRatio` is not yet reached.
*
* Bigger number means finer results, but slower performance.
*
* @default 100
*/
maxIterationCount?: number;
}
export interface IVoronoiTreemapPrivate extends IHierarchyPrivate {
}
/**
* A Weighted Voronoi Treemap series.
*
* NOTE: Try to avoid a big number of data items with very big value
* differences. Better group small items into "Other" item.
*
* @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/voronoi-treemap/} for more info
* @since 5.4.0
*/
export declare class VoronoiTreemap extends Hierarchy {
_settings: IVoronoiTreemapSettings;
_privateSettings: IVoronoiTreemapPrivate;
_dataItemSettings: IVoronoiTreemapDataItem;
protected _tag: string;
static className: string;
static classNames: Array<string>;
/**
* A list of node graphics elements in a [[VoronoiTreemap]] chart.
*
* @default new ListTemplate<RoundedRectangle>
*/
readonly polygons: ListTemplate<Polygon>;
voronoi: any;
protected _afterNew(): void;
_prepareChildren(): void;
protected _updateNode(dataItem: DataItem<this["_dataItemSettings"]>): void;
protected _handleSingle(dataItem: DataItem<this["_dataItemSettings"]>): void;
/**
* @ignore
*/
makeNode(dataItem: DataItem<this["_dataItemSettings"]>): HierarchyNode;
protected _makeNode(dataItem: DataItem<this["_dataItemSettings"]>, node: HierarchyNode): void;
protected getCirclePolygon(radius: number): number[][];
}
//# sourceMappingURL=VoronoiTreemap.d.ts.map