做了一个实际折线图的图表,经由过程右上角icon能够自在切换成柱状图,表格。
在表格中碰到的一点小问题,处理方案以下:
1、场景重现
这是一个显现两个折线图的图表,统统看起来都很顺遂。
然则点击赤色箭头所指的图标,这个作用就是以表格的情势展示。
展示以下。
很丑是吧,测试姐姐说一定要改掉。
附加一下右上角的完成代码,在options设置项加下面的设置就OK。
//右上角切换完成要领
toolbox: {
show: true,
right: '5%',
feature: {
dataView: {
readOnly: true
},
magicType: {type: ['line', 'bar']}
}
},
2、处理方案
echarts给的处理的方法就是自定义。
下面写了一个小表格,opt包含了一切折线图的数据,本身组装下。
能够console看看都有什么。
optionToContent: function (opt) {
let axisData = opt.xAxis[0].data; //坐标数据
let series = opt.series; //折线图数据
let tdHeads = '<td style="padding: 0 10px">时候</td>'; //表头
let tdBodys = ''; //数据
series.forEach(function (item) {
//组装表头
tdHeads += `<td style="padding: 0 10px">${item.name}</td>`;
});
let table = `<table border="1" style="margin-left:20px;border-collapse:collapse;font-size:14px;text-align:center"><tbody><tr>${tdHeads} </tr>`;
for (let i = 0, l = axisData.length; i < l; i++) {
for (let j = 0; j < series.length; j++) {
//组装表数据
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;
}
改完结果以下,人人能够本身碰运气哦。能够改成本身想要的作风哦。
3、总结
和数据视图有关的都能够如许改,不一定是我的谁人场景。
假如项目中图表许多,能够把这段代码抽取出来,毕竟篇幅很长。
写这篇文章,主如果本身刚学会,其次是搜了一会没找到适宜的答案。就分享下本身的小高兴吧,嘻嘻。