echarts 定制legend内容,显示和位置

976 阅读3分钟

1. type(当图例很多的时候可以用到)

2. orient(图例的排版方向)

3. top,bottom,left,right(图例在容器中的位置)

4. width,height(图例组件的大小);itemWidth,itemHeight(图例图标的大小)

5. align(图例标记和文本的对齐)

6. padding(图例内边距),itemGap(图例每项之间的间隔)

7. icon(图例项的 icon)

8. textStyle(图例的文本样式)

9. rich(自定义富文本样式)

10. formatter(用来格式化图例文本)

1. type(当图例很多的时候可以用到)

type,图例的类型,可选值为’plain’:普通图例。缺省(默认)就是普通图例。 ‘scroll’:可滚动翻页的图例。当图例数量较多时可以使用。 scroll的效果是这样的:

image.png

2.orient(图例的排版方向)

orient可选值为’horizontal’(水平默认),‘vertical’(垂直)

3.top,bottom,left,right(图例在容器中的位置)

top,bottom,left,right的值可以是像 20 这样的具体像素值,可以是像 ‘20%’ 这样相对于容器高宽的百分比,也可以是 ‘left’, ‘center’, ‘right’

如果 left 的值为’left’, ‘center’, ‘right’,组件会根据相应的位置自动对齐。
如果 top 的值为’top’, ‘middle’, ‘bottom’,组件会根据相应的位置自动对齐。

4.width,height(图例组件的大小);itemWidth,itemHeight(图例图标的大小)

wdithheight都可以为String或则Number,默认为自适应
itemWidthitemHeight为Number,只针对图标

5. align(图例标记和文本的对齐)

默认自动,根据组件的位置和 orient 决定,当组件的 left 值为 ‘right’ 以及纵向布局(orient 为 ‘vertical’)的时候为右对齐,即为 ‘right’。

可选:‘auto’,‘left’,‘right’

6. padding(图例内边距),itemGap(图例每项之间的间隔)

padding,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距。

使用示例:

// 设置内边距为 5 padding: 5 // 设置上下的内边距为 5,左右的内边距为 10 padding: [5, 10] //
分别设置四个方向的内边距 padding: [ // 上 // 右 // 下 // 左 ] , itemGap,横向布局时为水平间隔,纵向布局时为纵向间隔。

7.icon(图例项的 icon)

图例图标的显示样式,

ECharts 提供的标记类型包括
‘circle’, ‘rect’, ‘roundRect’, ‘triangle’, ‘diamond’, ‘pin’, ‘arrow’, ‘none’ 可以通过 ‘image://url’ 设置为图片,其中 URL 为图片的链接,或者 dataURI。

8.textStyle(图例的文本样式)

当你不满足于系统的文本样式就可以用这个啦,字体大小颜色样式都有对应的属性。挑个个重点的讲下

9.rich(自定义富文本样式)

rich(自定义富文本样式)
这个有什么用处呢?假如你的文本样式不止一种呢,是这样的

那就很有用了,先在rich中定义
eg:

rich: {  
a: {  
width: 200,  
padding: [0, 40, 0, 0],  
align: "left",  
},}  

然后在下面讲到的formatter中使用就可以了 , {styleName|text content text content} 标记样式名。进行运用

10.formatter(用来格式化图例文本)

个人感觉这个多用在项目开发中,后台返回的数据不是最终的结果的话就需要自己做点处理。建议直接写成回调函数

  
 //使用回调函数
 formatter: function (name) {  
//逻辑代码  
 //return ["{a|" +name +"}"]; //使用了rich定义的样式  
return 'Legend ’ + name; //最后返回的就是每一项图例的文字描述
}