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