echarts
Version:
Apache ECharts is a powerful, interactive charting and data visualization library for browser
91 lines (90 loc) • 3.06 kB
TypeScript
import RadiusAxis from './RadiusAxis.js';
import AngleAxis from './AngleAxis.js';
import PolarModel from './PolarModel.js';
import { CoordinateSystem, CoordinateSystemMaster, CoordinateSystemClipArea } from '../CoordinateSystem.js';
import GlobalModel from '../../model/Global.js';
import { ParsedModelFinder } from '../../util/model.js';
import { ScaleDataValue } from '../../util/types.js';
import ExtensionAPI from '../../core/ExtensionAPI.js';
export declare const polarDimensions: string[];
interface Polar {
update(ecModel: GlobalModel, api: ExtensionAPI): void;
}
declare class Polar implements CoordinateSystem, CoordinateSystemMaster {
readonly name: string;
readonly dimensions: string[];
readonly type = "polar";
/**
* x of polar center
*/
cx: number;
/**
* y of polar center
*/
cy: number;
private _radiusAxis;
private _angleAxis;
axisPointerEnabled: boolean;
model: PolarModel;
constructor(name: string);
/**
* If contain coord
*/
containPoint(point: number[]): boolean;
/**
* If contain data
*/
containData(data: number[]): boolean;
getAxis(dim: 'radius' | 'angle'): AngleAxis | RadiusAxis;
getAxes(): (AngleAxis | RadiusAxis)[];
/**
* Get axes by type of scale
*/
getAxesByScale(scaleType: 'ordinal' | 'interval' | 'time' | 'log'): (AngleAxis | RadiusAxis)[];
getAngleAxis(): AngleAxis;
getRadiusAxis(): RadiusAxis;
getOtherAxis(axis: AngleAxis | RadiusAxis): AngleAxis | RadiusAxis;
/**
* Base axis will be used on stacking.
*
*/
getBaseAxis(): AngleAxis | RadiusAxis;
getTooltipAxes(dim: 'radius' | 'angle' | 'auto'): {
baseAxes: (AngleAxis | RadiusAxis)[];
otherAxes: (AngleAxis | RadiusAxis)[];
};
/**
* Convert a single data item to (x, y) point.
* Parameter data is an array which the first element is radius and the second is angle
*/
dataToPoint(data: ScaleDataValue[], clamp?: boolean): number[];
/**
* Convert a (x, y) point to data
*/
pointToData(point: number[], clamp?: boolean): number[];
/**
* Convert a (x, y) point to (radius, angle) coord
*/
pointToCoord(point: number[]): number[];
/**
* Convert a (radius, angle) coord to (x, y) point
*/
coordToPoint(coord: number[]): number[];
/**
* Get ring area of cartesian.
* Area will have a contain function to determine if a point is in the coordinate system.
*/
getArea(): PolarArea;
convertToPixel(ecModel: GlobalModel, finder: ParsedModelFinder, value: ScaleDataValue[]): number[];
convertFromPixel(ecModel: GlobalModel, finder: ParsedModelFinder, pixel: number[]): number[];
}
interface PolarArea extends CoordinateSystemClipArea {
cx: number;
cy: number;
r0: number;
r: number;
startAngle: number;
endAngle: number;
clockwise: boolean;
}
export default Polar;