Echarts插件使用总结

本文总结了使用Echarts插件进行图形绘制时的一些常见问题和解决方案,包括如何处理多图表窗口大小变化、善用图表参数params、自定义tooltip、markPoint的运用、dataZoom设置以及动态调整option等技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做项目一直在使用echarts插件进行画图,怎么说呢,一直在用,但是下次再用的时候还是要翻看笔记或者官网。下面总结一下用echarts走的弯路。

1.

首先是当一个页面有两个echarts图时,怎么做到图形随着窗口大小而变化:

chart1.resize();
chart2.resize();

上面这么写是不行的,因为你会发现只会有一个图形变化。下面的才是正确的打开方式:

window.onresize = function () {
                    chart1.resize();
                    chart2.resize();
                }

好像window.addEventListener("resize", function(){}); 这个方法也是可以的,可以自己试下。

2.

要善于利用formatter: function (params) {} 里的参数params,console.log(params) 输出看一下params里的内容,也许能帮你解决很多问题。

比如 tooltip 里的formatter,修改鼠标放在图形上显示的那个框框的数据,基本上都是在这里改的,具体的就不举例子了,官网的例子也有。

3.

这个就要提一下markPoint了,看下面这个例子,其实第二条里面的tooltip里的也是可以修改markPoint的,具体可以自己尝试一下。

series : [
                {
                    name:'用电量',
                    type:'bar',
                    data:[], //待填充
                    markPoint: { // 默认的mark图标是水滴状的
                        symbolSize: 52,
                        itemStyle: {
                            normal: {
                                label: {
                                    show: true,
                                    formatter: function (param, ticket, callback) { // 这些都是对数据的处理
                                        var str;
                                        var val = (param.value * 100).toFixed(0);
                                        if (param.value >= 0) {
                                            str = "+"+val+"%";
                                        } else if (param.value < 0) {
                                            str = val+"%";
                                        } else {
                                            str = "-%";
                                        }
                                        return str;
                                    }
                                }
                            }
                        },
                        data: [] // js填充,这个填充的就是markPoint上显示的数据了
                    }
                },
                {
                    name:'电费',
                    type:'bar',
                    data:[]//待填充
                }
            ]

4.

然后是dataZoom,其实没什么讲的,主要是在设置的时候小心一点就好了。

option.dataZoom[0].start=0; // 注意dataZoom后面‘[0]’千万不要忘记了
option.dataZoom[0].end=((5/param)*100).toFixed(0); // end我设置了一个动态的

5.

最后就是option里面的参数可以自己动态设置,按照上面第四条的格式就可以了,最后在chart.setOption(option)就可以了。

6.
legeng表示图标的图例。
这里写图片描述
如上图所示,每个图标最多只有一个图例,所以设置legend属性时,不需要添加数组角标:

elecOption.legend.selected = {
                        '降水量': false,
                        '最低气温': false
                    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值