创建 chart 实例
绘制图表前必须创建一个 <lt-canvas> 元素。
import LightChart from 'light-chart';  | 
方法
get
- 描述:获取属性
 - 返回:返回对应的属性值
 
该方法用于获取 chart 内部的属性,如 chart.get('width'),包含的属性如下:
属性名  | 解释  | 
id  | 对应 canvas 的 id  | 
padding  | 当前的图表绘图区域和画布边框的间距  | 
data  | 原始数据  | 
width  | 图表宽度  | 
height  | 图表高度  | 
pixelRatio  | 图表的屏幕像素比  | 
el  | 对应 canvas 的 dom 对象  | 
canvas  | 对应的 canvas 对象(G.Canvas)  | 
geoms  | chart render 之后可获取,返回所有的 geoms 对象  | 
source
- 描述:装载数据
 - 返回:当前 chart 实例
 
chart.source(data)
data:Array,可视化数据
chart.source(data, colDefs)
data:Array,可视化数据colDefs:Object,可选,列定义配置(各个字段的度量配置)
chart.source(data, {  | 
图表数据的列定义用于对数据字段进行定义,如数据的类型,显示别名,数值的格式化等,不同的数字类型的配置项不同,支持的数据类型有:
linear: 数值类型cat: 分类类型timeCat:时间类型
light chart 会自动检测数据类型,用户也可以根据自身需求更改一些属性或者数据的类型,具体支持的配置属性详见 Scale API。
scale
- 描述:为数据字段进行列定义
 - 返回:当前 chart 实例
 
!注意: 如数据属性 field 在 chart.source() 和 chart.scale() 中均有定义,那么后声明的会覆盖之前声明的配置。
chart.scale('field', colDef)
为指定的数据字段进行列定义。
field:String,设置列定义的数据字段名。colDef:Object,度量配置,详见 Scale API。
示例:
const data = [  | 
chart.scale(colDef)
为一个或者多个数据字段进行列定义配置。
colDef:Object,度量配置,详见 Scale API。
示例:
const data = [  | 
coord
chart.coord()
- 描述:配置坐标系
 - 返回:当前 chart 实例
 
详见 Coordinate。
axis
chart.axis()
- 描述:配置坐标轴
 - 返回:当前 chart 实例
 
详见 Axis。
legend
chart.legend()
- 描述:配置图例
 - 返回:当前 chart 实例
 
详见 Legend。
guide
chart.guide()
- 描述:配置辅助元素
 - 返回:当前 guideController 实例
 
详见 Guide。
创建 Geometry 对象
chart.point():创建 point(点)的几何标记对象并返回该对象,具体的方法详见 Geometrychart.line():创建 line(线)的几何标记对象并返回该对象,具体的方法详见 Geometrychart.area():创建 area(区域)的几何标记对象并返回该对象,具体的方法详见 Geometrychart.path():创建 path(路径)的几何标记对象并返回该对象,具体的方法详见 Geometrychart.interval():创建 interval(柱)的几何标记对象并返回该对象,具体的方法详见 Geometrychart.polygon():创建 polygon(多边形)的几何标记对象并返回该对象并返回该对象,具体的方法详见 Geometrychart.schema():创建 schema 的几何标记对象并返回该对象,具体的方法详见 Geometry
注意:以上方法返回的是几何标记实例,不是 chart 实例。
render
chart.render()
- 描述:渲染图表,在最后调用
 - 返回: 当前 chart 实例
 
clear
chart.clear()
- 描述:清除图表内容
 - 返回:当前 chart 实例
 
light chart 重新绘制时不需要 destroy,而仅需要 chart.clear() 然后重新声明语法,如下示例:
chart.clear(); // 清除  | 
repaint
chart.repaint()
- 描述:重新绘制图表
 - 返回:当前 chart 实例
 
当修改了 guide、geometry 的配置项时可以重新绘制图表。
changeData
chart.changeData(data)
- 参数
data: Array,数据源
 - 描述:改变数据,同时图表刷新
 - 返回:当前 chart 实例
 
changeSize
chart.changeSize(width, height)
- 参数
width: Number/null, 如果为 null,表示宽度不变height: Number/null, 如果为 null,表示高度不变
 - 描述:改变数据,同时图表刷新
 - 返回:当前 chart 实例
 
chart.changeSize(300) 只改变宽度;chart.changeSize(300, 500) 宽度高度同时改变;chart.changeSize(, 300) 只改变高度。
destroy
chart.destroy()
- 描述:销毁图表,
<canvas>dom 元素不会销毁 
getPosition
chart.getPosition(record)
- 参数
record: Object 类型,原始数据对象
 - 描述:获取原始数据对应在画布上的坐标
 - 返回:Object 类型,record 对应的画布坐标,格式为 
{ x: , y: } 
const point = chart.getPosition({ time: '2010-02-02', value: 20 });  | 
getRecord
chart.getRecord(point)
- 参数
point: Object 类型,画布坐标,格式为{x: ,y: }
 - 描述:根据画布上的坐标获取对应的原始数据
 - 返回:Object 类型,point 对应的原始数据
 
const obj = chart.getRecord({ x: 100, y: 100 });  | 
getSnapRecords
chart.getSnapRecords(point)
- 参数
point: Object 类型,画布坐标,格式为{x: ,y: }
 - 描述:根据画布上的坐标获取附近的数据集
 - 返回:Array 类型,返回数据集,该数据集中的每一项记录包含映射后的数据以及对应的原始数据集,结构如下
 
[  | 
const obj = chart.getSnapRecords({x: 100, y: 100});  | 
getLegendItems
chart.getLegendItems()
- 描述:获取图例的 items,用于图例相关的操作
 - 返回:Array 类型
 
getXScale
chart.getXScale()
- 描述:获取图表 x 轴对应的度量
 - 返回:Scale 类型,x 轴对应的度量对象
 
getYScales
chart.getYScales()
- 描述:获取图表 Y 轴对应的度量,有可能会有多个 Y 轴
 - 返回:Array,y 轴对应的度量对象的数组
 
事件说明
light chart 没有提供事件机制,用户可以直接通过监听 canvas DOM 上的事件进行自定义交互行为。