echarts如何修改数据视图dataView中的样式

做了一个现实折线图的图表,通过右上角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、总结

和数据视图有关的都可以这样改,不一定是我的那个场景。

如果项目中图表很多,可以把这段代码抽取出来,毕竟篇幅很长。
写这篇文章,主要是自己刚学会,其次是搜了一会没找到合适的答案。就分享下自己的小喜悦吧,嘻嘻。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 图表有几个要素: 图表类型 图表颜色 字体大小以及颜色 绘制图表的注意点 图表设计原则 一. 图表类型 比较常用的...
    醉起萧寒阅读 12,239评论 0 21
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,099评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,631评论 4 61
  • 爱情中,要有发自内心的疼惜。 关心对方简单的吃穿用度当然容易了。但还有一种心疼,是在一段争执中,明明占着所有的理,...
    _W31阅读 2,720评论 0 0
  • 今天要做开会,公司运营导向。 公司为项目,项目为销售。海上传奇影响不好金域传奇。 高效运转,工作中遇到了商业综合体...
    大李的日常随笔阅读 2,929评论 0 0

友情链接更多精彩内容