zoukankan      html  css  js  c++  java
  • 关于echarts使用的常见问题总结

    1.legend图例不显示的问题:
    在legend中的data为一个数组项,数组项通常为一个字符串,每一项需要对应一个系列的 name,如果数组项的值与name不相符则图例不会显示;
    2.图表位置无法紧贴画布边缘的问题:
    在grid绘图网格里,containLabel(grid 区域是否包含坐标轴的刻度标签,默认不包含)为true的情况下,无法使图表紧贴着画布显示,但可以防止标签标签长度动态变化时溢出容器或者覆盖其他组件,将containLabel设置为false即可解决;

    grid:{
    containLabel:false
    }

    3.反向坐标轴:
    在echarts3中xAis和

    yAis:{
      inverse:true  
    }

    新添加了inverse属性,在inverse为true的情况下执行反向坐标轴;

    4.动态替换地图图表的方法:
    在echarts3中由于地图精度的提高,不在内置地图数据可以在地图下载页面http://echarts.baidu.com/download-map.html 下载对应文件,按需求引用;
    地图的geojson文件只包含了两层数据(国>省,省>市,市>区),如需全国所有省市地区的json文件请联系我;
    eCharts 中提供了两种格式的地图数据,一种是可以直接 script 标签引入的 js 文件,引入后会自动注册地图名字和数据。还有一种是 JSON 文件,需要通过 AJAX 异步加载后手动注册,我一般使用后者;
    方法如下:

    function mapCharts(name,id){
    $.get('json路径/'+name+'.json', function (geoJson) {
    echarts.registerMap(name, geoJson);
    var chart = echarts.init(document.getElementById(id));
    chart.setOption({
    series: [{
    type: 'map',
    map: name
    }]
    });
    });
    };

    5.柱状图的宽度问题:
    如设计图给出柱状图指定宽度,直接指定series.barWidth柱状图的宽度(默认barWidth为自适应),自适应功能会失效,在小尺寸状态下柱状图宽度不会发生改变;

    如不指定宽度,使用默认自适应会导致多条数据与单条数据宽度显示不一致,所以在设计图明确宽度的情况下,使用series.barMaxWidth(最大宽度)属性,来解决这一问题;

    自适应多条数据的效果

    自适应单条数据的效果


    使用了最大高度的效果

    6.部分情况下初始化图表失败的问题
    在使用类似Bootstrap轮播图等使用display:none属性隐藏其他图片的插件时,这种情况下会导致echarts初始化时获取不到画布宽高,导致绘制图表失败;
    如果不考虑ie9以下可考虑swiper3等使用overfllow:hidden属性隐藏多余图片的插件,如需兼容ie9以下可考虑swiper2(高度无法自适应),或者自己手写轮播图;

    7.echarts图表响应式的问题
    echarts提供了图表的resize方法,使用时可在setoption后添加如下代码:

    $(window).on('resize',function(){
    myChart.resize();
    });

    8.图表判断返回颜色
    echarts的color属性提供了function方法

    color: function(params) {
    //颜色数组
    var colorList = [
    ‘#C1232B‘,‘#B5C334‘,‘#FCCE10‘,‘#E87C25‘,‘#27727B‘,
    ‘#FE8463‘,‘#9BCA63‘,‘#FAD860‘,‘#F3A43B‘,‘#60C0DD‘,
    ‘#D7504B‘,‘#C6E579‘,‘#F4E001‘,‘#F0805A‘,‘#26C0C0‘
    ];
    //判断的代码
    
    //根据条件返回相应颜色
    return colorList[params.dataIndex]
    }

    9.使用formatter方法格式化文本(用于在label标签,tolltip等显示信息需要自定义时)
    legend图例下的使用
    使用字符串模板,模板变量为图例名称 {name}

    formatter: 'Legend {name}'
    使用回调函数
    formatter: function (name) {
    return 'Legend ' + name;
    };

    label下的使用
    主要是对params(一个对象包含data数据)参数的返回

    formatter: function (params) {
    return params.xxx;
    };

    10.tolltip里添加小标识(圆点之类的)的方法
    在formatter里返回时拼接html元素;

    formatter: function(params) {
    if(params.data.value) {
    if(params.data.value.length > 0) {
    var str = '';
    for(var i = 0; i < params.data.value.length; i++) {
    if(str !== '') {
    str += '</br>' + '<span style="display:inline-block;margin-right:5px;border-radius:10px;9px;height:9px;</span>';
    }
    str += params.data.value[i] + '人';
    }
    return params.name + '</br>' + '<span style="display:inline-block;margin-right:5px;border-radius:10px;9px;height:9px;</span>' + str;
    }
    }
    return params.data.name + ':' + (params.data.value ? params.data.value : '--');
    }
  • 相关阅读:
    LeetCode15 3Sum
    LeetCode10 Regular Expression Matching
    LeetCode20 Valid Parentheses
    LeetCode21 Merge Two Sorted Lists
    LeetCode13 Roman to Integer
    LeetCode12 Integer to Roman
    LeetCode11 Container With Most Water
    LeetCode19 Remove Nth Node From End of List
    LeetCode14 Longest Common Prefix
    LeetCode9 Palindrome Number
  • 原文地址:https://www.cnblogs.com/ziyoublog/p/10333026.html
Copyright © 2011-2022 走看看