Ajout d'un diagramme de moyenne dynamique au diagramme temporel

Je vais essayer d'expliquer mon problème aussi précis que possible. Je recherche une bibliothèque de cartes javascript remplissant les deux conditions suivantes:

From an ajax request retrieving time series, display dynamically data when changing the time window. 

Tel qu'il est parfaitement fait sur les gros stocks: http://www.highcharts.com/stock/demo/basic-line

Et

 plot an horizontal line corresponding to the mean, changing when the user update the time window on the chart. 

En fait, il est possible d'afficher une ligne horizontale. Mais ils sont réparés sur l'ensemble des données et ne changent pas en conséquence lorsque la fenêtre temporelle est modifiée:

Http://www.highcharts.com/stock/demo/yaxis-plotlines

Je suis tout à fait nouveau sur le sujet et j'aimerais savoir s'il est possible de modifier les classes Highstock pour avoir un tel résultat. Ou peut-être existe-t-il d'autres bibliothèques js ?

En utilisant une combinaison de la réponse ici:

  • Highchart, obtient le total des données de série visible après setExtremes

Et un exemple de moyenne dynamique utilisant toutes les séries visibles que j'ai faites pour une question précédente, ici:

J'ai mis en place cet exemple en utilisant l'événement afterSetExtremes , comme ceci:

 xAxis : { events:{ afterSetExtremes:function() { var ext = this.getExtremes(); getAverage(this.chart, ext.min, ext.max, show, width, avgColor, dashStyle); } } }, 

Exemple de travail ici:

L'idée est:

1) capture l'événement afterSetExtremes

2) obtenez l'axe résultant min et max

3) contourner les données de la série

4) si un point est entre le min et le maximum, incrémentez le compte et ajoutez la valeur y du point à la somme

5) calculer la moyenne en conséquence, vérifier l'existence de séries moyennes, s'il existe, mettre à jour, sinon, ajouter

Il pourrait aussi facilement utiliser une ligne de tracé que vous ajoutez / supprimez au besoin au lieu d'une série, mais j'aime l'avoir comme une série afin qu'elle ait une entrée de légende.