legend详解(1)— 概述、常用属性及解析
- legend:图例组件
- legend用于设置图例相关属性。
- 图例组件展现了不同系列的标记(symbol),颜色和名字。可以通过点击图例控制哪些系列不显示。
- ECharts 3 中单个 echarts 实例中可以存在多个图例组件,会方便多个图例的布局。
legend的部分参数的取值及含义:
legend的一些常用属性及解析
下面我们来解析部分legend的一些常用属性:
legend. type
- 图例的类型。
- 可选值:
- ‘plain’:普通图例。缺省就是普通图例。
- ‘scroll’:可滚动翻页的图例。当图例数量较多时可以使用。
legend.id
- 组件 ID。
- 默认不指定。指定则可用于在 option 或者 API 中引用组件。
legend. left = ‘auto’
- 图例组件离容器左侧的距离。
- left 的值可以是像 20 这样的具体像素值,可以是像 ‘20%’ 这样相对于容器高宽的百分比,也可以是 ‘left’, ‘center’, ‘right’。
- 如果 left 的值为’left’, ‘center’, ‘right’,组件会根据相应的位置自动对齐。
legend. right = ‘auto’
legend. bottom = ‘auto’
legend. width = ‘auto’
legend. height = ‘auto’
legend. orient = ‘horizontal’
legend. align = ‘auto’
- 图例标记和文本的对齐。默认自动,根据组件的位置和 orient 决定,当组件的 left 值为 ‘right’ 以及纵向布局(orient 为 ‘vertical’)的时候为右对齐,即为 ‘right’。
legend. padding
- 图例内边距,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距。
- 使用示例:
// 设置内边距为 5
padding: 5
// 设置上下的内边距为 5,左右的内边距为 10
padding: [5, 10]
// 分别设置四个方向的内边距
padding: [
5, // 上
10, // 右
5, // 下
10, // 左
]
legend. formatterstringFunction
- 用来格式化图例文本,支持字符串模板和回调函数两种形式。
- 使用示例:
// 使用字符串模板,模板变量为图例名称 {name}
formatter: 'Legend {name}'
// 使用回调函数
formatter: function (name) {
return 'Legend ' + name;
}
legend. selectedObject
selected: {
// 选中'系列1'
'系列1': true,
// 不选中'系列2'
'系列2': false
}
legend. textStyleObject
legend.textStyle. color = #333
legend.textStyle. fontStyle = ‘normal’
- 文字字体的风格。
- 可选:
- ‘normal’
- ‘italic’
- ‘oblique’
legend.textStyle. fontWeight = normal
- 文字字体的粗细。
- 可选:
- ‘normal’
- ‘bold’
- ‘bolder’
- ‘lighter’
- 100 | 200 | 300 | 400…
legend.textStyle. fontSize = 12
legend.textStyle. backgroundColor = ‘transparent’
- 文字块背景色。
- 可以使用颜色值,例如:’#123234′, ‘red’, ‘rgba(0,23,11,0.3)’。
- 也可以直接使用图片,例如:
backgroundColor: {
image: 'xxx/xxx.png'
// 这里可以是图片的 URL,
// 或者图片的 dataURI,
// 或者 HTMLImageElement 对象,
// 或者 HTMLCanvasElement 对象。
}
当使用图片的时候,可以使用 width 或 height 指定高宽,也可以不指定自适应。
legend.textStyle. padding
- 文字块的内边距。例如:
- padding: [3, 4, 5, 6]:表示 [上, 右, 下, 左] 的边距。
- padding: 4:表示 padding: [4, 4, 4, 4]。
- padding: [3, 4]:表示 padding: [3, 4, 3, 4]。
- 注意,文字块的 width 和 height 指定的是内容高宽,不包含 padding。
legend.textStyle. shadowColor = ‘transparent’
legend.textStyle. shadowBlur
legend.textStyle. shadowOffsetX
legend.textStyle. shadowOffsetY
legend.textStyle. widthnumberstring
- 文字块的宽度。一般不用指定,不指定则自动是文字的宽度。在想做表格项或者使用图片时,可能会使用它。
注意,文字块的 width 和 height 指定的是内容高宽,不包含 padding。
- width 也可以是百分比字符串,如 ‘100%’。表示的是所在文本块的 contentWidth(即不包含文本块的 padding)的百分之多少。之所以以 contentWidth 做基数,因为每个文本片段只能基于 content box 布局。如果以 outerWidth 做基数,则百分比的计算在实用中不具有意义,可能会超出。
注意,如果不定义 rich 属性,则不能指定 width 和 height。
legend.textStyle. heightnumberstring
- 文字块的高度。一般不用指定,不指定则自动是文字的高度。在使用图片(参见 backgroundColor)时,可能会使用它。
注意,文字块的 width 和 height 指定的是内容高宽,不包含 padding。
注意,如果不定义 rich 属性,则不能指定 width 和 height。
legend.textStyle. textBorderColor = ‘transparent’
legend. tooltipObject
- 图例的 tooltip 配置,配置项同 tooltip。默认不显示,可以在 legend 文字很多的时候对文字做裁剪并且开启 tooltip。
legend. icon
- 图例项的 icon。
- ECharts 提供的标记类型包括’circle’,’rect’,’roundRect’,’triangle’,’diamond’,’pin’,’arrow’,’none’
- 可以通过 ‘image://url’ 设置为图片,其中 URL 为图片的链接,或者 dataURI。
'image://http://xxx.xxx.xxx/a/b.png'
'image://data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7'
- 可以通过 ‘path://’ 将图标设置为任意的矢量路径。这种方式相比于使用图片的方式,不用担心因为缩放而产生锯齿或模糊,而且可以设置为任意颜色。路径图形会自适应调整为合适的大小。路径的格式参见 SVG PathData。可以从 Adobe Illustrator 等工具编辑导出。
legend. dataArray
- 图例的数据数组。数组项通常为一个字符串,每一项代表一个系列的 name(如果是饼图,也可以是饼图单个数据的 name)。图例组件会自动根据对应系列的图形标记(symbol)来绘制自己的颜色和标记,特殊字符串 ”(空字符串)或者 ‘\n’(换行字符串)用于图例的换行。
- 如果 data 没有被指定,会自动从当前系列中获取。多数系列会取自 series.name 或者 series.encode 的 seriesName 所指定的维度。如 饼图 and 漏斗图 等会取自 series.data 中的 name。
- 如果要设置单独一项的样式,也可以把该项写成配置项对象。此时必须使用 name 属性对应表示系列的 name。
data: [{
name: '系列1',
// 强制设置图形为圆。
icon: 'circle',
// 设置文本为红色
textStyle: {
color: 'red'
}
}]
legend.data. namestring
- 图例项的名称,应等于某系列的name值(如果是饼图,也可以是饼图单个数据的 name)。
legend.data. iconstring
- 图例项的 icon。
- ECharts 提供的标记类型包括 ‘circle’, ‘rect’, ’roundRect’, ‘triangle’, ‘diamond’, ‘pin’, ‘arrow’, ‘none’
- 可以通过 ‘image://url’ 设置为图片,其中 URL 为图片的链接,或者 dataURI。
legend.data. textStyleObject
legend. backgroundColor = ‘transparent’
- 颜色可以使用 RGB 表示,比如 ‘rgb(128, 128, 128)’ ,如果想要加上 alpha 通道,可以使用 RGBA,比如 ‘rgba(128, 128, 128, 0.5)’,也可以使用十六进制格式,比如 ‘#ccc’
legend. shadowColor
注意:此配置项生效的前提是,设置了 show: true。
legend. pageIconsObject
- legend.type 为 ‘scroll’ 时有效。
- 图例控制块的图标。
legend. pageTextStyleObject
- legend.type 为 ‘scroll’ 时有效。
- 图例页信息的文字样式。
legend. selectorbooleanArray
- 从 v4.4.0 开始支持
- 图例组件中的选择器按钮,目前包括全选和反选两种功能。默认不显示,用户可手动开启,也可以手动配置每个按钮的标题。
- 使用方式如下:
selector: [
{
type: 'all or inverse',
// 可以是任意你喜欢的 title
title: '全选'
},
{
type: 'inverse',
title: '反选'
}
]
// 或
selector: true
// 或
selector: ['all', 'inverse']
评论区(0)