我有一个带有~30系列不同颜色的折线图,下面有一个html表,其中每个表行代表一个系列,我在表行上创建了一个.hover()处理程序,这样当你将鼠标悬停在一行上时除了相应的行
之外,图表上的系列变为灰色所以没有悬停,图表看起来像这样......
随着桌子的嗡嗡声,它看起来像......
问题是,我还想让这个选定的系列显示在所有其他系列(它的z-index)之上,我看不到任何选项来做这个
我尝试重新排序系列数组,将所选系列放在数组的前面,然后调用plot.draw(),但这对订单没有任何影响(见下文)
关于如何实现这一目标的任何想法?
for(var i=0;i<_st_usage_json.length;i++){
var json = _st_usage_json[i];
var row = jQuery("<tr></tr>")
.data("index",i)
.hover(function(){
if(selectedSeriesIndex!=jQuery(this).data("index")){
selectedSeriesIndex = jQuery(this).data("index");
var plot = jQuery("#poolUsagePlot").data("plot")
var series = plot.getData();
for (var i = 0; i < series.length; ++i) {
series[i].color = "rgb(100,100,100)";
}
var selectedSeries = series[selectedSeriesIndex];
selectedSeries.color = 'rgb(0,183,255)';
series.splice(selectedSeriesIndex,1);
series.unshift(selectedSeries);
console.log(series)
plot.draw();
}
})
答案 0 :(得分:4)
您有正确的想法,但需要将所选系列放在数组的末尾,而不是开头。
系列按顺序绘制,而选定的系列覆盖其他系列则需要最后绘制。