echarts笔记 ---- 如何使用 formatter 和 grid 这两把利器

在谈 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)

这里举个例子:

[javascript]  view plain  copy
  1. tooltip : {  
  2.     trigger: 'axis',  
  3.     formatter: function(params,ticket,callback){  
  4.         var res = params[0][0] + '<br/>';  
  5.         for (var i = 0; i < params.length; i++) {  
  6.             if (params[i][2]==1)   
  7.                 {var rank="B"}  
  8.             else if (params[i][2]==2)   
  9.                 {rank="A"}  
  10.             else if (params[i][2]==3)   
  11.                 {rank="C"};  
  12.               
  13.             res += params[i][1] + ": " + rank;  
  14.         };  
  15.         return res;  
  16.     }  
  17. },  

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

[javascript]  view plain  copy
  1. axisLabel:{  
  2.     formatter : function(v) {  
  3.         if (v == 1) {return 'B'}  
  4.         else if (v ==2 ) {return 'A'}  
  5.         else if (v ==3 ) {return 'C'};  
  6.     }  
  7. },  

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

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页