IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Tracer graphique en temps réel


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut [AJAX] Tracer graphique en temps réel
    Bonjour,

    Je récupère via ajax des valeurs (une série de 6 valeurs que je rafraichi toutes les 3 secondes)

    Est-il possible de tracer dynamiquement un graphique (j'ai 6 courbes a tracer => en abscisse, c'est l'heure de la mesure qui doit apparaitre) sans utiliser des bibliothèques toutes faites (car j'ai besoin que mon code java soit petit) ?
    avez-vous des exemples ?

    Je veux faire un graph qui mesure des débits comme le graph mise en réseau du gestionnaire des taches windows

  2. #2
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Il te faut une compatibilité avec quels navigateurs?

    Parce qu'a la base, javascript n'est pas capable de faire de dessin. Certaines librairies arrivent plus ou moins bien à palier à ce problème en générant les formes via des divs mais ca reste pas mal de la bidouille.

    Sinon, tu peux utiliser des objets de type canvas, svg (gecko, webkit), vml (ie) pour tracer ces formes mais la, c'est la compatibilité entre navigateurs qui va être chiante.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    Il te faut une compatibilité avec quels navigateurs?
    => ...tous

    alors il vaut mieux partir sur quelle solution (remarque : mon code javascript doit être très légé (une dizaine de Ko) , c'est pour mettre sur un système embarqué) ?

  4. #4
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    C'est pour mettre sur quoi comme système embarqué?

    Ya quelques librairies ici mais j'ai bien peur qu'elles dépassent toutes les 10ko

    C'est des courbes que tu dois faire ou juste des barres? Parce que dans ce cas, avec simplement du css ca passe mais si tu dois faire des courbes, t'es mal

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    C'est pour mettre sur quoi comme système embarqué?
    => c'est un mini serveur web avec très peu de mémoire pour stocker mes pages web

    Le problème des librairies c'est qu'elles font plein de choses que je n'ai pas forcement besoin de faire (et donc prennent de la place)
    Je pensais que c'était plus simple de générer un graph en javascript

    Je dois dessiner une courbe : elle peut être pleine => donc en dessinant une multitude de barres de 1px ça pourrait peut-être le faire (mais c'est faire le barbare lol)
    Je ne veux pas trop me prendre la tête : si c'est trop compliqué, je laisse tombé mon idée de graph...

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Non, ton approche est réalisable... cependant, ça ira pour une courbe, mais pour 6, tu ne pourras pas les superposer...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    Citation Envoyé par Emcy Voir le message
    Je dois dessiner une courbe : elle peut être pleine => donc en dessinant une multitude de barres de 1px ça pourrait peut-être le faire (mais c'est faire le barbare lol)
    Salut,

    Je suis pas sur que cela soit si barbare que ça, dans ton cas tu as pas trop
    le choix il me semble.

    Voici un petit exemple très très basique, cela peut déjà te permettre
    d'évaluer si le client est capable d'afficher le nombre de points dont tu
    as besoins.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>Untitled Page</title>
    <style type='text/css'>
    #graph { width: 200px; height: 150px; background-color: black; position: relative; }
    #graph div { position: absolute; width: 1px; height: 1px; }
    </style>
    <script type="text/javascript">
    function plot(x, y, color) {
      var e = document.createElement('div');
      e.style.left = Math.round(x) + "px";
      e.style.top = Math.round(y) + "px";
      e.style.backgroundColor = color;
      document.getElementById('graph').appendChild(e);
    }
     
    window.onload = function() {
      for(var x=0;x<200;x++) {
        var y = 75 + Math.sin(x/20) * 50;
        plot(x, y, 'red');
      }
      for(var x=0;x<200;x++) {
        var y = 75 + Math.sin(x/40) * 30;
        plot(x, y, 'green');
      }
    };
     
    </script>
    </head>
    <body>
    <div id='graph'></div>
    </body>
    </html>

Discussions similaires

  1. Interface Graphique en Temps réel
    Par masenco dans le forum C++Builder
    Réponses: 14
    Dernier message: 18/04/2008, 14h40
  2. bibliothèques AJAX pour graphiques en temps réel
    Par clebig dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 07/02/2008, 19h08
  3. Création fenêtre graphique en temps réel
    Par Juanes dans le forum Visual C++
    Réponses: 1
    Dernier message: 26/06/2007, 13h57
  4. Bibliothèque graphique 2D temps réel
    Par gk14fire dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 25/05/2007, 09h27
  5. [AJAX] les graphe en temps réel
    Par prg12 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/01/2007, 13h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo