发布时间:2023-05-03 文章分类:WEB开发, 电脑百科 投稿人:王小丽 字号: 默认 | | 超大 打印

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

  • 1.type(当图例很多的时候可以用到)
  • 2.orient(图例的排版方向)
  • 3.top,bottom,left,right(图例在容器中的位置)
  • 4.width,height(图例组件的大小);itemWidth,itemHeight(图例图标的大小)
  • 5. align(图例标记和文本的对齐)
  • 5. padding(图例内边距),itemGap(图例每项之间的间隔)
  • 6.icon(图例项的 icon)
  • 7.textStyle(图例的文本样式)
    • 7.1 rich(自定义富文本样式)
  • 8.formatter(用来格式化图例文本)

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

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

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(图例图标的大小)

wdith和height都可以为String或则Number,默认为自适应
itemWidth和itemHeight为Number,只针对图标
echarts 定制legend内容,显示和位置

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

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

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

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

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

使用示例:

// 设置内边距为 5 padding: 5 // 设置上下的内边距为 5,左右的内边距为 10 padding: [5, 10] //
分别设置四个方向的内边距 padding: [
5, // 上
10, // 右
5, // 下
10, // 左 ]

itemGap,横向布局时为水平间隔,纵向布局时为纵向间隔。

6.icon(图例项的 icon)

图例图标的显示样式,

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

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

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

7.1 rich(自定义富文本样式)

这个有什么用处呢?假如你的文本样式不止一种呢,是这样的

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

  rich: {
                  a: {
                    width: 200,
                    padding: [0, 40, 0, 0],
                    align: "left",
                  },}
 //然后在下面讲到的formatter中使用就可以了                 

// {styleName|text content text content} 标记样式名。进行运用

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

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

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

一般开发这个就够了,看机会再更新吧