zoukankan      html  css  js  c++  java
  • Echarts旭日图解决lable文字溢出问题

    1、需求
    1.1、解决lable文字溢出问题 解决方案:
    1.1.1、文字隐藏,鼠标移入后展示
    1.1.2、到达指定宽度后部分文字隐藏用...三个点显示,鼠标移入后显示全部数据
    1.2、数据格式转换
    2、实现效果

    3、重点代码
    4、完整代码

    var departmentPieData =[{
        "grade":[
            {
                "class":"一班",
                "director":[
                    {
                        "sugar":1,
                        "student":"小黑"
                    }
                ]
            }
        ],
        "school":"华南"
    }]
    var series = [];
    departmentPieData.forEach((item,i)=>{
        let layer1 = {name:item.school,children:[]};
        series.push(layer1);
        item.grade.forEach((s,j)=>{
            let layer2 = {name:s.class,children:[]};
            layer1.children.push(layer2);
            s.director.forEach((c,w)=>{
                let layer3 = {name:c.student,value:c.sugar};
                layer2.children.push(layer3);
            })
        })
    })
    option = {
        title: {
            text: '标题',
            textStyle: {
                fontSize: 14,
                align: 'center'
            },
            subtextStyle: {
                align: 'center'
            },
        },
        series: {
            type: 'sunburst',
    
            data: series,
            radius: [0, '95%'],
            sort: null,
    
            emphasis: {
                focus: 'ancestor'
            },
    
            levels: [{}, {
                r0: '15%',
                r: '35%',
                itemStyle: {
                    borderWidth: 2
                },
                label: {
                    rotate: 'tangential'
                }
            }, {
                r0: '35%',
                r: '70%',
                label: {
                    align: 'right'
                }
            }, {
                r0: '70%',
                r: '72%',
                label: {
                    position: 'outside',
                    padding: 3,
                    silent: false
                },
                itemStyle: {
                    borderWidth: 3
                }
            }]
        }
    };
    

    5、解决lable文字超出问题
    5.1、实现效果(文字隐藏,鼠标移入显示文字)

    lable超出宽度,显示三个点(...),鼠标移入显示全部文字
    设置方式:

    levels.label.show = true;
    

    5.2、重点代码

    label: {
      overflow: "truncate"
    },
    emphasis: {
      label: {
        show: true,
         9999
      },
      focus: 'ancestor'
    },
    levels:[{},{
      label: {
        show: false,
         44,
        rotate: 'tangential'
       }
    }]
    

    5.3、完整代码

    var departmentPieData =[ {
        "salePlatforms":[
            {
                "salesPlatform":"463463",
                "couponCodeInners":[
                    {
                        "num":1,
                        "couponCode":"TEST35423432"
                    }
                ]
            }
        ],
        "department":"Revenue"
        },
        {
        "salePlatforms":[
            {
                "salesPlatform":"465346",
                "couponCodeInners":[
                    {
                        "num":1,
                        "couponCode":"TACODE"
                    }
                ]
            }
        ],
        "department":"Marketing"
        }
    ]
    var series = [];
    departmentPieData.forEach((item,i)=>{
        let layer1 = {name:item.department,children:[]};
        series.push(layer1);
        item.salePlatforms.forEach((s,j)=>{
            let layer2 = {name:s.salesPlatform,children:[]};
            layer1.children.push(layer2);
            s.couponCodeInners.forEach((c,w)=>{
                let layer3 = {name:c.couponCode,value:c.num};
                layer2.children.push(layer3);
            })
        })
    })
    option = {
        title: {
            text: 'WORLD COFFEE RESEARCH SENSORY LEXICON',
            textStyle: {
                fontSize: 14,
                align: 'center'
            },
            subtextStyle: {
                align: 'center'
            },
        },
        series: {
            label: {
                overflow: "truncate"
            },
            emphasis: {
                  label: {
                    show: true,
                     9999
                  },
                  focus: 'ancestor'
            },
            type: 'sunburst',
    
            data: series,
            radius: [0, '95%'],
            sort: null,
    
            levels: [{}, {
                r0: '15%',
                r: '35%',
                itemStyle: {
                    borderWidth: 2
                },
                label: {
                   show: false,
                     44,
                   rotate: 'tangential'
                }
            }, {
                r0: '35%',
                r: '70%',
                label: {
                    align: 'right'
                }
            }, {
                r0: '70%',
                r: '72%',
                label: {
                    position: 'outside',
                    padding: 3,
                    silent: false
                },
                itemStyle: {
                    borderWidth: 3
                }
            }]
        }
    };
    

    声明:此博客为个人学习之用,如与其他作品雷同,纯属巧合,并请明示指出

  • 相关阅读:
    Hbase性能调优(一)
    文章标题
    JDBC的PreparedStatement启动事务使用批处理executeBatch()
    java.lang.OutOfMemoryError: PermGen space及其解决方法
    linux 关机命令总结
    oracle 启动关闭以及监听启动关闭命令
    bash: sqlplus: command not found 解决方法
    VMware 虚拟机 linux执行 ifconfig 命令 eth0没有IP地址(intet addr、Bcast、Mask) UP BROADCAST MULTICAST 问题
    Linux的文本编辑和文本内容查看命令
    RHEL6服务器网络配置 修改linux RHEL6系统下的ip方法
  • 原文地址:https://www.cnblogs.com/liliy/p/14785880.html
Copyright © 2011-2022 走看看