light chart 图例的生成是由图形语法中的图形属性决定的,我们会根据图形属性映射以及数据的类型自动生成不同类型的图例:color, size 这两个图形属性如果判断接收的参数是数据源的字段时,会自动生成不同的图例:
- color,会赋予不同的图例项不同的颜色来区分图形,如果该字段是分类类型,则会生成离散图例,如果是连续类型,则会生成连续图例(本期未支持)
- size,在图例上显示图形的大小 (本期未支持)
API
chart.legend(false)
不显示所有的图例。
chart.legend(field, false)
不显示 field 字段对应的图例。
- field: String
代表图例对应的数据字段名。
chart.legend(field, config)
为 field 对应的图例进行配置。如下所示:
| chart.legend('gender', { | 
- field: String
代表图例对应的数据字段名。
- config: Object
图例的配置信息,支持的属性如下:
参数
- position: String
设置图例的显示位置,可设置的值为:’top’、’right’、’bottom’、’left’,分别表示上、右、下、左。默认为 top。
- align: String
当 position 为 ‘top’,’bottom’ 时生效,用于设置水平方向上图例的对齐方式,可设置的值为:’left’、’center’、’right’ ,默认为 ‘left’ ,左对齐。
| left(默认) | center | right | 
|  |  |  | 
- verticalAlign: String
当 position 为 ‘left’、’right’ 时生效,用于设置垂直方向上图例的对齐方式,可设置的值为:’top’、’middle’、’bottom’,默认为 ‘middle’,居中对齐。
| middle(默认) | top | bottom | 
|  |  |  | 
- itemWidth: Number/‘auto’
用于设置每个图例项的宽度,默认为 ‘auto’,即使用 light chart 默认的图例布局计算 itemWidth。如果 itemWidth 为 null,则会根据每个图例项自身的宽度计算,另外用户也可以自己设置 itemWidth 的数值。
- showTitle: Boolean
是否显示图例标题,默认值为 false,即不展示。
- titleStyle: Object
图例标题的显示样式设置,详见绘图属性。
| titleStyle: { | 
- offsetX: Number
图例 x 方向的整体偏移值,数值类型,数值单位为 ‘px’,默认值为 0。
- offsetY: Number
图例 Y 方向的整体偏移值,数值类型,数值单位为 ‘px’,默认值为 0。
- titleGap: Number
标题距离图例项的间距,默认为 12px,如果不展示标题,不生效。
- itemGap: Number
每个图例项水平方向上的间距,默认值为 12px。
- itemMarginBottom: Number
每个图例项下方留白间距,默认值为 12px。
- wordSpace: Number
marker 和文本之间的间距,默认值为 6px。
- unCheckStyle: Object
用于设置取消选中的图例 marker 以及文本的样式。默认值为:
| unCheckStyle: { | 
- itemFormatter: Function
回调函数,用于格式化图例每项的文本显示。
| itemFormatter(val) { | 
- marker: String/Function/Object
用于设置图例的 marker 样式,默认为 ‘circle’ 即圆形。
- String 类型
当为 String 类型时,即表示使用 light chart 默认提供的类型,支持的类型如下:
| marker 类型 | 样式 | ||
|---|---|---|---|
| ‘circle’ |  | 
| ‘square’ |  | 
- Object 类型
marker 为 Object 时,可以配置 symbol、radius 以及一些绘图属性。
| marker: { | 
- Function 类型
用于自定义 shape,使用方式如下,
| /** | 
以下代码绘制了如图所示的 marker:

| chart.legend('city', { | 
- nameStyle: Object

用于设置图例项的文本样式,详见绘图属性。
| nameStyle: { | 
- valueStyle: Object
用于设置图例项的文本样式,详见绘图属性。
| valueStyle: { | 
- joinString: String
设置图例项中 name 和 value 的连接字符,默认为 ‘:’。
- triggerOn: String
图例筛选行为的触发事件,默认为 click。该属性只能通过以下方式声明才可生效:
| // 生效 | 
- selectedMode: String
设置图例项的选中模式,提供两种模式:
| // 默认模式,多选 | 
- clickable: Boolean
设置图例项是否允许点击,默认为 true,即允许点击。
- onClick: Function
用于自定义鼠标点击图例项的交互,当 clickable 为 false 不生效。
| /** | 
- custom: Boolean
默认为 false,当 custom 为 true,表示不使用默认生成的图例,允许用户自定义图例,包括具体的图例项以及点击交互行为。
自定义图例时需要用户自己声明具体的图例项 items(该属性是一个对象数组,数组中每一项为一个对象类型,结构为:{ name: '', value: 12, marker:{ fill: 'red' } }, checked: true)以及图例项的 onClick 事件。
| chart.legend({ custom: true, items: [], onClick(){} }); | 
marker 的格式可以为数组或者字符串。
具体使用如下:
| chart.legend({ |