Хорошо, это определенно не очень, но я не мог найти способ установить zIndex, поэтому мне пришлось немного маневрировать, чтобы подделать его и принести каждую серию на передний план в определенном порядке. Вот фрагмент кода, чтобы включить:
Highcharts.Series.prototype.setState = (function (func) {
return function() {
if (arguments.length>0){
if (arguments[0] !== ''){
if (typeof this.options.states[arguments[0]]['zIndex'] !== 'undefined'){
this.options.oldZIndex = this.group.zIndex;
this.group.zIndex = this.options.states[arguments[0]]['zIndex'];
}
}else{
if (typeof this.options['oldZIndex'] !== "undefined"){
this.group.zIndex = this.options['oldZIndex'];
}
}
var order = [], i = 0;
$.each(this.chart.series, function(){
order.push({id:i,zIndex:this.group.zIndex,me:this});
i++;
});
order.sort(function(a,b){return (a.zIndex>b.zIndex) ? 1 : -1;});
$.each(order, function(){
this.me.group.toFront();
});
func.apply(this, arguments);
}
};
} (Highcharts.Series.prototype.setState));
И вот JSFiddle демонстрирующее:
http://jsfiddle.net/G9d9H/9/
Позвольте мне знать, если это то, что вам нужно.
Глядя на Highcharts исходного кода (и в документации здесь : http://api.highcharts.com/highcharts#plotOptions.series.states.hover) кажется, что единственным атрибутом, который разрешено изменять для серии, является lineWidth, похоже, нет никаких встроенных функций для любых других атрибутов. Если вы хотите помочь с «взломом», я, возможно, смогу что-то понять. – MatthewKremer
Если вы не возражаете, не торопитесь, я бы хотел узнать ваше решение. thx – Guian