Formatter函数用于在百度的echarts中添加散点图中的标签

时间:2016-07-22 09:32:23

标签: charts scatter-plot scatter baidu echarts

我正在使用百度的echarts库实现散点图。我指的是this例子。我已根据我的要求对其属性进行了修改。我通过提及“系列”中的符号大小来增加气泡大小。像这样:

    series : [
                {    
                  symbolSize : 20,
                  type :'scatter',
                  data : [ some coordinate values ],
                  .
                  .   //rest of the properties
                  .

                  },
              ]

我这样做是为了在气泡中包含自定义标签。为此,我修改了' itemStyle'在'系列'如下:

itemStyle: {
                  normal: {
                            color:'blue', 
                            label:{
                            textStyle:{
                                        fontWeight:'bold',
                                        fontSize:15
                                        },
                           show:true,
                           position: 'inside',
                           formatter: function(value)
                            {
                                if (value=='[10][20]')
                                return 'some label'
                                else
                                return 'NA'
                            }
                        }
                }
          },

现在所有的泡沫都有' NA'写在他们里面。所以,我意识到我没有正确地做到这一点。我想知道'值是什么'包含在formatter函数中。我能用数据中的坐标检查它的相等性吗?请帮忙。

这就是现在的观点: Scatterplot

PS:系列标签的格式化程序功能中的value元素始终是UNDEFINED

1 个答案:

答案 0 :(得分:2)

找到解决上述问题的方法。 label的formatter函数具有以下参数:

a (series name), b (data name), c (value array), d(null)

所以,例如,如果我需要将气泡的名称设置为'Node1','Node2','Node3'等等,那么我将我的系列命名为'Node'并且在值数组中而不仅仅是有xAxis和yAxis值,我添加第三个参数作为数字序列。这意味着数据可能显示为:

data: [[10, 80, 1], [20, 70, 2], [50, 70, 3] ..and so on],

现在,当我调用formatter函数时,我可以按如下方式进行:

formatter: function(a,b,c)
                            {
                                return a+c[2]
                             }

其中a =系列名称,b =数据名称和c =值数组。我们根据需要在泡泡内定制标签来修改这3个。我的输出如下:

Scatter or bubble graph