2016-04-22 1 views
0

J'ai un graphique spline avec 10 courbes différentes - lorsque vous visitez la page, aucun graphique n'est visible car j'ai "visible" = false. L'utilisateur clique ensuite sur la ou les courbes qu'il souhaite voir.Seules les séries de changements visibles dans Highcharts.js

Je veux être en mesure de modifier dynamiquement les données avec un bouton et également le remettre à l'état d'origine. Cependant, je veux seulement viser une série sur laquelle un utilisateur a cliqué et donc l'ai défini comme "visible".

// the button action 
$('#button').click(function() { 
    var chart = $('#container').highcharts(); 
    chart.series[0].setData([129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4], false); 

}); 

$('#addNew').on('click', function(e) { 
    $('#container').highcharts().redraw(); 
}); 

Si cela fait une différence, j'utilise django pour l'implémenter.

+0

donc en gros si un utilisateur affiche une série, et il clique sur le bouton, les données de cette série devraient changer et il devrait être visible, est-ce exact? –

Répondre

0

Pour modifier dynamiquement uniquement les séries visibles, vous pouvez vérifier si la propriété visible de la série est définie sur true.

$('#updateVisibleSeries').click(function(){ 
    Highcharts.each(chart.series, function(s){ 
    if(s.visible === true) { 
     s.addPoint(42, false); 
    } 
    chart.redraw(); 
    }) 
}); 

Exemple: http://jsfiddle.net/5nccnqc9/