echarts dataView數據對齊

clipboard.png
由於橫座標日期太長了致使標題(銷售量 訂單數)和數據沒有對齊,官方手冊dataView有個optionToContent屬性能夠修改爲表格,好比效果這樣:html

clipboard.png
代碼:echarts

dataView : {
    show: true,
    readOnly: true,
    optionToContent: function(opt) {
        var axisData = opt.xAxis[0].data;
        var series = opt.series;
        var table = '<table class="layui-table" style="width:100%;text-align:center"><tbody><tr>'
            + '<td>時間</td>'
            + '<td>' + series[0].name + '</td>'
            + '<td>' + series[1].name + '</td>'
            + '</tr>';
        for (var i = 0, l = axisData.length; i < l; i++) {
            table += '<tr>'
                + '<td>' + axisData[i] + '</td>'
                + '<td>' + series[0].data[i] + '</td>'
                + '<td>' + series[1].data[i] + '</td>'
                + '</tr>';
        }
        table += '</tbody></table>';
        return table;
    }
}

可是有個不方便的地方,表格不能選中數據複製(爲了方便獲得數據,到Excel中去製做圖表),不想由於好看放棄實用
而後就想到再作個下載表格功能。找個一個教程,要修改源碼,改不來,須要高大上的朋友能夠參考ui

再而後期間想到方式,好比修改源碼改下默認樣式、optionToContent:function可否手寫打印要的樣式,像代碼題要求打印9*9乘法表那樣,都作不到(有興趣的朋友能夠試一下,順便告訴我)
最後找到一個超級簡單的辦法:spa

var sale_amount = '\t'+'銷售量';    //在縱座標標題前加一個'\t',不影響圖表縱座標顯示,照常使用,但dataView數據對齊。多是圖表縱座標顯示忽略\t,而dataView拼接成html片斷,\t生效。
...

legend: {
    data: [sale_amount, order_count]
},

...

series: [
    {// 根據名字對應到相應的系列
        name:sale_amount ,        
        type:'line',
        yAxisIndex:0,
        data:self_sale_amount
    },
    {
        name:‘訂單數’,
        type:'line',
        yAxisIndex:1,
        data:self_order_count
    }
]

效果:.net

clipboard.png

相關文章
相關標籤/搜索