echarts学习笔记(4) ---- 如何使用 formatter 和 grid 这两把利器

来源:互联网 发布:淘宝海报在线制作 编辑:程序博客网 时间:2024/05/18 05:25

在谈 formatter 之前,先来说说 grid。在官方文档中,grid 介绍的很详细。

见网址: http://echarts.baidu.com/doc/doc.html#Grid


grid 为直角坐标系内绘图网格,可以设置 x y x2 y2 等值。这在控制图表摆放位置上,起了重要的作用。 

如图所示,

x 为直角坐标系内绘图网格左上角横坐标,数值单位px,支持百分比(字符串),如'50%'(显示区域横向中心)

y 为左上纵坐标,x2为右下横坐标,y2为右下纵坐标。

需要设置的话,就按照tooltip 或 legend 的格式设置就行。


接下来就是 formatter 了。为了弥补 echarts 在时间或计量单位上格式的不足,echarts 暂时利用 formatter 来加上需要个格式,对数据呈现方式进行修改。

在设置 formatter 的时候可以用在 tooltip 和 y 轴上。

  • {Function},传递参数列表如下:
    • <Array> params : 数组内容同模板变量,[[a, b, c, d, e, data], [a1, b1, c1, d1, e1, data1], ...],不同的是当trigger为item时最后一项返回option中的完整data
    • <String> ticket : 异步回调标识
    • <Function> callback : 异步回调,回调时需要两个参数,第一个为前面提到的ticket,第二个为填充内容html
    • *函数回调时this指针指向当前图表实例(myChart)

这里举个例子:

            tooltip : {                trigger: 'axis',                formatter: function(params,ticket,callback){                    var res = params[0][0] + '<br/>';                    for (var i = 0; i < params.length; i++) {                        if (params[i][2]==1)                             {var rank="B"}                        else if (params[i][2]==2)                             {rank="A"}                        else if (params[i][2]==3)                             {rank="C"};                                                res += params[i][1] + ": " + rank;                    };                    return res;                }            },

如果用 console 来看到 params 其实是一组模板中的变量,这里都可以加到 variable res 中,然后将某些数字的变量变成我们想要的格式,然后 return 就行了。

                    axisLabel:{                        formatter : function(v) {                            if (v == 1) {return 'B'}                            else if (v ==2 ) {return 'A'}                            else if (v ==3 ) {return 'C'};                        }                    },

还有 y 轴的使用,就更加简单,直接一个 function 搞定。







1 0
原创粉丝点击