我希望有以下的行为使用高级图表。我需要有两种工具提示:
对于自定义工具提示,我可以使用一个简单的工具提示格式化程序。问题在于共享工具提示。这是否可以与一些系列共享默认的工具提示,并有一个自定义的另一个?
谢谢。
发布于 2014-09-02 11:06:39
这是可能的,但您需要使用格式化程序并准备逻辑。参见非常简单的演示http://jsfiddle.net/7gmxzwdf/5/
formatter:function(){
var txt = '',
x = this.x,
series = this.point.series.chart.series;
if(this.series.options.shared) {
$.each(series,function(i,s){
if(s.options.shared) {
$.each(s.data,function(j, d){
if(d.x === x) {
txt += '<span style="color:'+s.color+';font-weight:bold;">'+s.name+'</span> value: ' + d.y + '<br/>';
}
});
}
});
} else {
txt = 'not shared value: ' + this.y;
}
return txt;
}发布于 2014-09-02 10:45:54
API中没有明显的方法,但是您可以通过检测鼠标经过哪个系列,得到与您想要的类似的东西:
var series1Selected=0;
...
series: [{
events: {
mouseOver: function () {
series1Selected = 1;
},
mouseOut: function () {
series1Selected = 0;
}
},然后,您可以根据是否悬停在系列1上,在格式化程序中更改工具提示的外观。
tooltip: {
formatter: function () {
if (series1Selected == 1) {
var s = '<b>Series 1</b>';
} else {
var s = '<b>Shared</b>';
$.each(this.points, function () {
s += '<br/>' + this.series.name + ': ' + this.y + 'm';
});
}
return s;
},
shared: true
},http://jsfiddle.net/rjbfmob6/
这有点小问题,但可以作为解决方案的基础。
https://stackoverflow.com/questions/25620299
复制相似问题