Graphique en temps reel avec jquery

Fermé
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 - 10 juil. 2011 à 21:53
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 - 11 juil. 2011 à 13:47
Bonjour,

Je souhaite afficher l'evolution d'une fonction toute les secondes f(t) de maniere a ce que le point precedent disparaisse lorsque le nouveau point apparait .
J'utilise jquery avec fplot qui donne satisfaction pour l'affichage de toute la fonction mais je ne sais pas faire ce que je decrit plus haut.
Je programme en Javascript c'est pour un site ...

quelqu'un aurait-il une idee ?

merci




5 réponses

cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4
11 juil. 2011 à 13:47
merci pour vos efforts j'ai trouve (tout seul ) en Javascript avec Jquery fplot :

var soleil = [];
for (var i = 0; i < 7; i += 0.01) {
soleil.push([10* Math.sin(i),10* Math.cos(i)]);

}
plot= $.plot($("#placeholder"), [ soleil ], options);
options = {
series: { shadowSize: 0 }, // drawing is faster without shadows
yaxis: { min:0, max:10 },
xaxis: { show: true }
};


function update() {
plot.setData([soleil.slice(j,j+2) ]);

// since the axes don't change, we don't need to call plot.setupGrid()
plot.draw();
j++;
if(j>620) j=1;
setTimeout(update, 100);
}

update();


et cela dessine le soleil qui tourne autour de la terre !
2
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
10 juil. 2011 à 22:15
ça à l'air de marcher comme ça :
Timer = setTimeout("codeàexécuter", delai)

Et pour supprimer le timer :
ClearTimeout(Timer)
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
11 juil. 2011 à 02:01
Salut,

Concernant l'usage de setInterval et setTimeout, il faut éviter d'utiliser une chaine pour indiquer le code à appeler.

La fonction eval() sera appelée, et si vous voulez savoir pourquoi son exécution est déconseillée, je vous laisse chercher sur Google.

La solution : utiliser une fonction anonyme.

setTimeout(function() {
    /* Code ici */
}, 1000 );

Et je pense que ce sujet serait mieux dans la section « Webmastering »
0
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
11 juil. 2011 à 05:34
Oui c'est peut-être pas dans le bon forum, mais je vais au bout de ma démarche tout de même, car personne répondait alors j'ai cherché pour dépanner...
Et du coup j'ai mis un peu bêtement ce que j'ai trouvé, car j'y connais rien en javascript.
Et donc on peu appeler une fonction en donnant son nom sous forme de chaine de caractères ? C'est pas du tout ce à quoi je pensait, et effectivement c'est pas du tout optimal ça !
Merci pour la correction...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
11 juil. 2011 à 13:24
Oui, on peut exécuter du Javascript contenu dans une chaine grâce à eval().
0