我想将一个系列与具有相同x轴但y值不同的外部变量进行比较。为了更容易解释问题,我们提供了示例代码here。
数据系列
series: [{data: [5, 4, 5, 7, 8, 6, 3, 6, 7, 4, 8, 9]},
{data: [4, 6, 7, 9, 5, 9, 12, 11, 9, 7, 6, 5]}]
,外部变量是
var extdata = [2,2,2,1,0,0,0,1,1,2,2,2];
它们共享相同的x轴(本例中为Jan,Feb,...,Dec)。假设当一个月份的系列中的数据点加上外部变量中的相应条目至少为10时,我想显示工具提示“max”,否则保留总和的数值,以便3月份的工具提示读取< / p>
March:
Series 1: 7
Series 2: 9
并且在四月读取
April:
Series 1: 8
Series 2: Max
是否可以仅使用工具提示格式化程序执行此操作?如果不是这样,怎么能实现呢?谢谢!
答案 0 :(得分:0)
有几种方法可以做到这一点,但我能想到的最简单的方法是格式化你的extdata:
var extdata = {'Jan':2,
'Feb':2,
'Mar':2,
'Apr':1,
'May':0,
'Jun':0,
'July':0,
'Aug':1,
'Sep':1,
'Oct':2,
'Nov':2,
'Dec':2};
然后在您的工具提示功能中,您可以像这样引用它:
formatter: function () {
var s = '<b>' + this.x + '</b>';
var month = this.x;
$.each(this.points, function (i, point) {
var total = point.y + extdata[month];
s += '<br/>' + point.series.name + ': ' + (total>=10?'max':point.y);
});
return s;
},
通过索引月份上的extdata,您可以避免计算出您正在盘旋的点。如果你想通过迭代寻找月份名称的类别,你可以解决这个问题。
答案 1 :(得分:0)