VChart
全局 VChart 对象,也作为图表的总入口,用于图表的创建、更新和销毁。
静态属性
ThemeManager
主题管理器。可用于全局主题的注册、设置以及获取等,详见theme。
globalConfig
VChart 的全局配置项。这个对象里的属性可以直接修改,配置的生效时机依具体配置项而定。
uniqueTooltip(number) = true
是否全局显示唯一 tooltip。如果置 为 true,当某个图表触发 tooltip 时,同一页面的所有其他图表的 tooltip 将自动消失。
此配置修改后即时生效。
静态方法
useRegisters
/** * 按需注册图表和组件 * @param comps * @since 1.5.1 */ static useRegisters(comps: (() => void)[]) { comps.forEach((fn: () => void) => { fn(); }); }
1.5.1 版本开始支持。 用于按需加载图表、系列、组件、环境兼容代码等。具体使用请参考 按需引入教程
useChart
/** * 注册自定义图表 * @param charts 图表类 */ useChart: (charts: IChartConstructor[]) => void;
用于注册扩展的自定义图表 Chart。
useSeries
/** * 注册自定义系列 * @param series 系列类 */ useSeries: (series: ISeriesConstructor[]) => void;
用于注册扩展的自定义系列 Series。
useComponent
/** * 注册自定义组件 * @param components 组件类 */ useComponent: (components: IComponentConstructor[]) => void;
用于注册扩展的自定义组件 Component。
useMark
/** * 注册自定义 Mark * @param marks Mark 图元类 */ useMark: (marks: MarkConstructor[]) => void;
用于注册扩展的自定义 组件 Mark。
useLayout
/** * 注册自定义的布局 * @param layouts 布局类 */ useLayout: (layouts: ILayoutConstructor[]) => void;
用于注册扩展的自定义布局 Layout。
registerDataSetTransform
/** * 注册 DataSet 数据方法 * @param name 数据 transform 方法名称 * @param transform 具体的 Transform 执行方法 */ registerDataSetTransform: (name: string, transform: Transform) => void;
用于注册 DataSet 数据方法,常用于按需加载。
registerMap
/** * 注册地图数据 * @param key 地图名称 * @param source 地图数据 * @param option 地图数据配置 */ registerMap: (key: string, source: GeoSourceType, option?: GeoSourceOption) => void;
注册地图数据。
export type GeoSourceOption = IGeoJsonOption | ITopoJsonOption; /** geojson 相关配置 */ export interface GeoSourceOption { type: 'geojson'; /** 计算中心点 */ /** @default true */ centroid?: boolean; /** 地图简化 */ /** @default false */ simplify?: | boolean | { /** * 一个以度为单位的数字(例如,纬度/经度距离)。 * 1度大约相当于69英里。默认值是0.001,大约是一个城市街区的长度。 * @default 0.01 * @since 1.11.0 */ tolerance: number; }; /** 逆时针回绕(Multi)LineString或(Multi)Polygon的外部环,内部环顺时针。*/ /** @default false */ rewind?: | boolean | { /** 启用反向绕行 */ /** @default false */ reverse?: boolean; }; } /** topojson 相关配置 */ export interface ITopoJsonOption extends Omit<IGeoJsonOption, 'type'> { type: 'topojson'; object: string; }
unregisterMap
/** * 卸载地图数据 * @param key 地图名称 */ unregisterMap: (key: string) => void;
用于卸载地图数据。
getMap
/** * 根据地图名称获取地图数据 * @param key 地图名称 * @returns 地图数据 */ getMap: (key: string) => GeoSourceType;
根据注册的地图名 称获取对应的地图数据。
初始化(new VChart)
new VChart(spec: ISpec, options: IInitOption);
用于创建 VChart 实例。
参数说明
spec
图表的 spec 配置,详见配置项页面。
options
图表配置,包含渲染容器等,详见的配置如下表:
| 属性名 | 类型 | 必选 | 描述 |
|---|---|---|---|
dom | string|HTMLElement | 否 | 仅生效于浏览器环境。 图表挂载的父容器,可以直接指定容器 id,也可以传入 dom 对象 |
renderCanvas | string|HTMLCanvasElement | 否 | 除去选择 dom 属性进行挂载父容器,也可以使用 renderCanvas 属性直接传入 canvas 实例/ canvasId,小程序/小组件环境请直接传入 id |
dataSet | DataSet | 否 | 数据集 |
autoFit | boolean | 否 | 是否自适应容器大小,默认为 true |
animation | boolean | 否 | 是否开启动画,默认为 true |
options3d | srIOption3DType | 否 | 3d 配置 |
layout | LayoutCallBack | 否 | 自定义布局函数 |
mode | string | 否 | 配置渲染环境,默认为 'desktop-browser',当需要在非浏览器环境渲染 VChart 时,需要配置该属性。 'desktop-browser': 默认模式,适用于 PC 及 H5; 'mobile-browser': H5 模式; 'node': Node 渲染; 'worker': worker 模式; 'miniApp': 小程序模式; 'lynx': lynx 渲染 |
modeParams | any | 否 | 配置 mode 参数一起使用,用于配置 mode 参数对应的环境的一些特殊配置 |
dpr | number | 否 | 设置屏幕分辨率 |
interactive | boolean | 否 | 图表交互全局开关,默认为 true,开启。 |
viewBox | object | 否 | 指定绘制的矩形区域,如 { x1: 100, y1: 100, x2: 300, y2: 300 } |
canvasControled | boolean | 否 | 用于告诉底层的渲染引擎 VRender,图表的 Canvas 是否是受控制的 canvas,如果不是的话,不会进行 resize 等操作。 |
stage | Stage | 否 | 外部传入的 VRender stage |
layer | Layer | 否 | 外部传入的 VRender layer |
beforeRender | Function | 否 | 绘制之前的钩子函数,(stage: IStage) => void |
afterRender | Function | 否 | 绘制之后的钩子函数,(stage: IStage) => void |
background | string\object | 否 | 绘图区域背景色设置,可以配置渐变色 |
logLevel | number | 否 | 日志类型,用于开发调试 |
disableDirtyBounds | boolean | 否 | 是否关闭 dirtyBounds |
enableView3dTransform | boolean | 否 | 是否开启 view3d 的变换模式 |
poptip | boolean | 否 | 是否开启省略文本的 poptip,用于查看完整的文本内容,默认开启 |
disableTriggerEvent | boolean | 否 | 是否关闭交互效果;从1.9.0版本开始支持 |
theme | string | ITheme | 否 | 默认主题(支持完整主题对象或者主题名称,主题名称需要提前在 ThemeManager 中注册) |
enableHtmlAttribute | boolean | 否 | 底层 vrender 图形节点是否支持html属性; 从1.8.3 |