02-Echarts简化系列之:图例 legend

前言:简单介绍图例的配置属性,再后续每一个属性的配置中,我都会一个一个进行实验,将遇到的问题和疑问记录下来,同大家一起熟练的使用 Echarts 可视化工具。

一、图例的 option   属性配置

// 图例 标题
option = {
    legend:{
         // 统一设置的属性,在每一个data系列中设置无效
        type:"plain",  //是否可滚动翻页,用于图例太多,超出容器时配置。
        id:'1',        //引用组件 
        show:true,     //是否展示图例
        zlevel:1,      //所有图形图层优先级
        z:2,           // 图例中所有图形的 优先级,控制图形前后顺序,实现堆积效果 
       
        // 图例容器属性 偏移量 可设置 'auto' | 20% | 20
        left:'auto',   //图例离容器左侧距离
        right:'20%',   //图例离容器右侧距离
        top:20,        //图例离容器上侧距离
        bottom:'auto'  //图例离容器下侧距离
        widht:'20%',   // 图例容器的宽度
        height:200,    // 图例容器的高度
        orient:'vertical',   //图例列表排列方式 横、竖
        align:'left',        //图例文字 在图例图形的左还是右
        padding:[5,10,5,10], //图例容器内边距
        backgroundColor:'red',                //图例容器的背景颜色
        borderColor:'red',                    //图例容器的边框颜色
        borderWidth:2,                        //图例容器的边框宽度
        borderRadius:[5,5,5,5],               //图例容器的圆角
        shadowBlur:20,                        //图形容器的阴影程度
        shadowColor:'red',                    //图形容器的阴影颜色
        shadowOffsetX:20,                     //阴影在水平方向上的偏移
        shadowOffsetY:20,                     //阴影在竖直方向上的偏移
        formatter:"图例名称",                  //手动配置图例的文字内容
        selectedMode:true,                    //图例图形是否可点击   
        selected:{
            '数据一名称':true,                 //数据一初始化展示
            '数据二名称':false,                //数据二初始化不展示
         },
        itemGap:10,     //图例之间的距离
        itemWidth:25,   //图例图形宽度
        itemHeight:25,  //图例图形高度
        
         //图例分页时的属性  ,每页的个数会按照图例容器的大小自动展示
        scrollDataIndex:5,                    //图例分页时,指定当前最左边的是哪一个图例
        pageButtonItemGap:10,                 //图例分页时,按钮和文字的间隔
        pageButtonGap:10,                     //图例分页时,按钮和图例之间的间隔
        pageButtonPosition:'end',             //图例控件的位置
        pageFormatter:'{current}/{total}',    //页码展示信息
        pageIcons:{
                horizontal:['url','url'],     // 横向分页时,上一页下一页的icon
                vertical:['url','url'],       // 纵向分页时,上一页下一页的icon  
        },
        pageIconColor:'#aaa',                 //翻页按钮的颜色
        pageIconInactiveColor:'#aaa'          //翻页按钮到底时,禁止点击的颜色
        pageIconSize:[5,5],                   //翻页按钮大小
        //下面这个样式和 图例文本样式配置相同,大肠包小肠
        pageTextStyle:{···略},                //分页信息中文字的样式
        animation:true,                       //分页是否需要动画   
        animationDurationUpdate:800           //动画时长
        
        // emphasis 图例强调效果,这个配置一直没有在图例中使用成功,还请各位解答一下
        
        emphasis:{
            //求解答!        
        }
        
        //图例统一关闭和开启的选择器
        selector:[
            {
                type:'all',       //按钮是选中还是取消功能
                title:'全选',     //按钮中的文字
            },
            {
                type:'inverse',
                title:'反选'               
            }        
        ]
        
        // 选择器的样式 好像没有直接设置选择器宽度、高度的配置
        selectorLabel:{
               show:'文字',    //是否显示按钮中的文字
               distance:5,     // 距离图形元素距离,我这里设置无效,没有深究
               rotate:80,      //标签旋转
               offset:[10,10], //文字偏移
              
               //文字样式,请直接参考下文中的  图例文本统一样式的 textStyle的配置项
               color:'#fff',       //文字颜色
               fontStyle:'normal', //字体风格
               // ···略    请直接参考下文中的  图例文本统一样式的 textStyle的配置项 
        }
        selectorPosition:'auto',   //选择器在图例盒子中的位置
        selectorItemGap:10,        //选择器按钮之间的间隔
        selectorButtonGap:10,      //选择器距离图例的间距
      
        
        
        
        
        //可在每一个系列中单独设置的图例属性,以下全是
        //图例图形样式
        itemStyle:{
            color:"rgba(198, 39, 39, 1)",     //图例图形颜色
            borderWidth:3,                    //图例图形的描边
            borderColor:"rgba(40, 36, 36, 1)",//图例图形描边的颜色
            borderType: "dashed",             //图例图形描边线的类型
            borderDashOffset: 10,             //图例图形描边虚线的位移量
            borderJoin: "round",              //图例图形描边线为不连续时,设置描边线两端连接形状
            // 这个属性有点离谱了,同情开发这个功能的同志
            borderMiterLimit: 5,              //图例图形描边为不连续且两端连接形状为 miter 菱形时,菱形的斜接面比例
            shadowBlur:2.5,                   //图例的阴影模糊大小
            shadowColor:"rgba(228, 2, 2, 1)", //图例图形阴影颜色
            shadowOffsetX: -1.5,              //图例图形阴影水平偏移量
            shadowOffsetY: 1.5,               //图例图形阴影竖直偏移量
            opacity:0.5,                      //图例图形的透明度 
            decal:'图形链接',                  //以你上传的图片为准,在图例图形上打上斑点及贴花            
        },
        symbolRotate:50,                        //图例图形旋转效果,这个属性有点憋屈,我尝试了很多方法,最后才摸索出来如何使用,文章下面会单独介绍。
        inactiveColor: "rgba(57, 48, 48, 1)",   //图例图形关闭时的样式
        inactiveBorderColor: "rgba(187, 72, 72, 1)",  // 图例图形关闭时描边的颜色
        
        //当图例图形为线条时的样式设置
        lineStyle:{
            width:20,                          //图例图形线条宽度
            color: "rgba(245, 73, 73, 1)",     //图例图形线条颜色
            inherit:'dashed',                  //图例图形线条类型
            inherit:20,                        //图例图形线条为虚线时,虚线的偏移量
            cap:'round',                       //图例图形线段末端的形状
            join:'inherit',                    //图例图形线段两端连接形状
            miterLimit:20,                     //图例图形线段两端连接形状为 miter 时,斜接面比例
            shadowBlur:10,                     //图例图形的阴影模糊程度
            shadowColor: "rgba(188, 3, 33, 1)",//图例图形的阴影颜色
            shadowOffsetX:10,                  //图例图形的阴影水平偏移量   
            shadowOffsetY:-10,                 //图例图形的阴影竖直偏移量   
            opacity:0.5,                       //图例图形的透明度                            
        },
                       
        // 图例文本统一样式
        textStyle:{
            color:'#333',                         //字体颜色
            fontStyle:'normal',                   //字体风格
            fontWeight:'normal',                  //字体粗细
            fontFamily:'sans-serif',              //字体
            fontSize:50,                          //字体大小
            lineHeight:20,                        //行高
            backgroundColor:'transparent',        //文本盒子的背景颜色
            borderColor: "rgba(239, 232, 232, 1)",//文本盒子边框颜色
            borderWidth:200,                      //文本盒子边框宽度
            borderType:'solid',                   //文本描边类型
            borderDashOffset:20,                  //文本描边为虚线时的偏移量
            borderRadius:[20,20,20,20],           //文本框圆角
            padding:[3,4,5,6],                    //文本框内边距
            shadowColor:'transparent',            //文本框背景阴影颜色
            shadowBlur:20,                        //文本框背景阴影长度
            shadowOffsetX:20,                     //阴影水平偏移量  
            shadowOffsetY:20,                     //阴影竖直偏移量 
            width:20,                             //文本框宽度
            height:20,                            //文本框高度
            // 文字的样式  在Echarts中,对文字的设置都保持一致,所以下面的部分会大量出现
            textBorderColor:"rgba(62, 2, 20, 1)", //文字描边颜色
            textBorderWidth:"rgba(62, 2, 20, 1)", //文字描边宽度
            textBorderType:'solid',               //文字描边类型
            textBorderDashOffset:20,              //文字描边虚线的偏移量
            textShadowColor:'transparent',        //文字阴影颜色
            textShadowBlur:20,                    //文字阴影长度
            textShadowOffsetX:20,                 //文字阴水平偏移量
            textShadowOffsetY:20,                 //文字阴竖直偏移量
            overflow:'none',                      //文字内容操作文本框时如何处理
            ellipsis:'···',                       //文字超出设置为截断时,末尾展示内容
            tooltip:{
                show:true,                        //这个需要单独做出来展示,内容很多,请期待后期更新
                trigger:'axis'
            },                       
        },
        icon:'diamond',                //图例图形的形状,可以自己填入 图片 Url
        
        //单独配置每一个系列(数据)的属性 重点!重点!重点!
        data:[
            {
                name:'系列一',          //通过系列名称将数据关联
                icon:'diamond',         // 该系列的图例图形的形状
                symbolRotate:50,                        //图例图形旋转
                inactiveColor: "rgba(57, 48, 48, 1)",   //图例图形关闭时的样式
                inactiveBorderColor: "rgba(187, 72, 72, 1)",  // 图例图形关闭时描边的颜色
                //我上面的属性是专门的分了类的,这里可以直接复用的包括以下:
                itemStyle:{},       // 图例图形样式
                lineStyle:{},       // 当图例图形为线条时的样式设置
                textStyle:{}        // 图例文本统一样式,具体的内容属性直接参考上面存在的实例来就是,这里不再重复                                             
            },
            {
                name:'系列二',          //通过系列名称将数据关联
                icon:'diamond',         // 该系列的图例图形的形状
                ······    
            }
        ]                        
    }                                
}

在以上代码中,有很多都是文字的配置,所有忽略一部分,可直接参考 图例文本统一样式的 textStyle 里面的配置项全可以复用。

二、解刨图

三、单独项介绍

图例的 symbolRotate 旋转效果:

option={
    legend:{
        icon:""           // 在此处设置图例图形之后,则旋转无效
        symbolRotate:50   // 旋转效果,若此处没有设置,则以下面系列中的旋转角度为准    
    },
    series:[{
        type:'line'        // 图形类型指定,例如散点图、折线图等,其他则无效
        symbol: "diamond", // 标记点样式
        symbolRotate:90
    }],
}

 四、遗留,图例的强调效果 emphasis

 这个配置我这边有点迷茫,求解!

猜你喜欢

转载自blog.csdn.net/youyudehan/article/details/134072428
今日推荐