2012-01-02 2 views
0

Хорошо, поэтому я нарисовал диаграмму разброса в высоких диаграммах. Я хочу это сделать, когда я навещу над собой серию, все остальные серии тускнеют. Я попытался изменить fillOpacity и цветовые свойства маркеров, и он, похоже, не работает. Это то, что я в настоящее время:Как изменить непрозрачность серии в Highcharts?

series:{ 
    events:{ 
    mouseOver: function(event){ 
    console.log("in"); 
    var series_to_keep = this; 
    $.each(chart.series, function(seriesNo, serie){ 
     serie.hide(); 
    }); 
    this.show(); 
    this.select(true); 
}, 
    mouseOut: function(event){ 
    console.log("out"); 
    console.log(this); 
    $.each(chart.series, function(seriesNo, serie){ 
     if(!serie.visible){ 
      serie.show(); 
     } 
    }); 
},}} 
... 

Это в настоящее время скрывает другую серию, но я не хочу, чтобы скрыть их. Как просто изменить непрозрачность маркеров другой серии при наведении курсора, а затем отключить их? Я не могу найти, какие свойства нужно изменить. Я пропустил так много, и никто, похоже, не работает.

ответ

2

С этого discussion, вы можете использовать что-то вроде этого, чтобы настроить цвет динамически:

serie.color = "#FF00FF"; 
serie.graph.attr({ 
    stroke: '#FF00FF' 
}); 
$.each(serie.data, function(i, point) { 
    point.graphic.attr({ 
     fill: '#FF00FF' 
    }); 
}); 
serie.redraw(); 
+1

Марк, это потрясающе. Спасибо. Где документация для атрибута point.graphic ?! – user1126931

+0

@ user1126931, свойство «graphic» возвращает SVGElement, выполняющий rendereing (в данном случае SVGCircleElement, поскольку это «точка круга»). Документация для этого элемента не относится к HighCharts: https://developer.mozilla.org/en/DOM/SVGCircleElement или http://msdn.microsoft.com/en-us/library/ff972065(v=vs.85) .aspx – Mark

Смежные вопросы