在使用echart过程中,toolbox里有个dataView视图模式,里面的数据没有对整,影响展示效果,情形如下:

echarts优化数据视图dataView中的样式

echarts优化数据视图dataView中的样式

像这种标题跟数据没有整齐对应上,看起来乱

改问题解决方案为,option 》 toolbox 》 feature 》 dataView 》optionTocontent 回调函数中处理,具体代码如下:

option = {
    color: ['#f54c49','#1976d2'],
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'shadow'
        }
    },
    toolbox: {
        show : true,
        feature : {
             dataView : {show: true, readOnly: false,
                 optionToContent: function (opt) {
                     var axisData = opt.xAxis[0].data;//x轴作为条件,y轴需改成yAxis[0].data;
                     var series = opt.series;
                     var tdHeads = '<td  style="padding:0 10px">名称</td>';
                     series.forEach(function (item) {
                         tdHeads += '<td style="padding: 0 10px">'+item.name+'</td>';
                     });
                     var table = '<table border="1" style="margin-left:20px;border-collapse:collapse;font-size:14px;text-align:center;background-color:#666"><tbody><tr>'+tdHeads+'</tr>';
                     var tdBodys = '';
                     for (var i = 0, l = axisData.length; i < l; i++) {
                         for (var j = 0; j < series.length; j++) {
                             if(typeof(series[j].data[i]) == 'object'){
                                 tdBodys += '<td>'+series[j].data[i].value+'</td>';
                             }else{
                                 tdBodys += '<td>'+ series[j].data[i]+'</td>';
                             }
                         }
                         table += '<tr><td style="padding: 0 10px">'+axisData[i]+'</td>'+ tdBodys +'</tr>';
                         tdBodys = '';
                     }
                     table += '</tbody></table>';
                     return table;
                 }
            }
,
            magicType : {show: true, type: ['line', 'bar']},
            restore : {show: true},
            saveAsImage : {show: true}
        },
        iconStyle:{
            borderColor:'white'
        }
    }}

修改后的效果为:

echarts优化数据视图dataView中的样式

问题完美解决,希望对你有帮助!

 

相关文章: