Echarts X/Y轴自动隐藏过长的名称内容,鼠标移动上去显示全部名称的方法

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="main" style="height: 360px;"></div>

<script src="https://cdn.bootcss.com/jquery/1.8.0/jquery-1.8.0.js"></script>
<script src="assets/js/echarts.js"></script>
<script>
var myChart = echarts.init(document.getElementById('main'));

option = {
    title: {
        text: '世界人口总量',
        subtext: '数据来自网络'
    },
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'shadow'
        }
    },
    legend: {
        data: ['2011年', '2012年']
    },
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    xAxis: {
        type: 'value',
        boundaryGap: [0, 0.01]
    },
    yAxis: {
        type: 'category',
        data: ['','印尼','美国','印度','中国(这是也一个正在复兴的国度)','世界人口(万)'],
        //这里开始是重点1
        triggerEvent: true,
        axisLabel: {
             formatter: function(value) {
                 var res = value;
                 if(res.length > 5) {
                     res = res.substring(0, 4) + "..";
                 }
                return res;
              }
       }
    },
    series: [
        {
            name: '2011年',
            type: 'bar',
            data: [0, 23489, 29034, 104970, 131744, 630230]
        }
    ]
};

myChart.setOption(option);

//这里开始是重点2

extension(myChart);
                    
function extension(myChart) {
    //判断是否创建过div框,如果创建过就不再创建了
    var id = document.getElementById("extension");

    if(!id) {
        var div = "<div id = 'extension' sytle=\"display:none\"></div>"
        $('html').append(div);
    }

    myChart.on('mouseover', function(params) {

        if(params.componentType == "yAxis") {
            $('#extension').css({
                "position": "absolute",
                "color": "#ffffff",
                //"border":"solid 2px white",
                "font-family": "Arial",
                "font-size": "12px",
                "padding": "3px",
                "display": "inline",
                "background": "#666666"
            }).text(params.value);


            $("html").mousemove(function(event) {
                var xx = event.pageX - 30;
                var yy = event.pageY + 20;
                $('#extension').css('top', yy).css('left', xx);
            });
        }
    });

    myChart.on('mouseout', function(params) {
        if(params.componentType == "yAxis") {
            $('#extension').css('display', 'none');
        }
    });
};
</script>
</body>
</html>

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值