2

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

    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”。所以,我意识到我做得不对。我想知道格式化程序函数中的“值”包含什么。我可以检查它与数据中的坐标是否相等吗?请帮忙。

到目前为止,这些点是这样的: 散点图

PS:label in series的formatter函数中的value元素总是UNDEFINED

4

1 回答 1

4

找到了解决上述问题的方法。标签的格式化函数有以下参数:

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个来自定义气泡内的标签。我的输出如下所示:

散点图或气泡图

于 2016-07-27T05:20:17.680 回答