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

Bibliothèques et frameworks PHP Discussion :

[Artichow] Graphes avec stats


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de M@XflY
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 95
    Par défaut [Artichow] Graphes avec stats
    bonjour à tous

    j'aurai aimé savoir comment je peut faire des graphes avec des stats dans Artichow

    en effet j'ai ce script PHP (qui se trouve dans les exemples fournis avec Artichow)

    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
    <?php
    require_once "../../LinePlot.class.php";
     
    $graph = new Graph(400, 400);
    $graph->setAntiAliasing(FALSE);
     
    $values = array(1, 4, 5, -2.5, 3);
    $plot = new LinePlot($values);
    $plot->setBackgroundGradient(
    	new LinearGradient(
    		new Color(210, 210, 210),
    		new Color(250, 250, 250),
    		0
    	)
    );
    $plot->yAxis->setLabelPrecision(1);
    $plot->setSpace(5, 5, NULL, NULL);
     
    $graph->add($plot);
    $graph->draw();
    ?>
    et donc la ligne de code qui permet de modifier les points et celle ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $values = array(1, 4, 5, -2.5, 3);
    j'ai donc voulus l'adapter pour permettre au script de récupérer des données depuis un fichier CSV afin qu'il puisse tracé son graphe

    j'ai donc chopé ce script sur le net :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $fichier = "graphes.CSV";
    $fic = fopen($fichier, 'rb');
     
    echo "<table border='1'>\n";
    for ($ligne = fgetcsv($fic, 1024); !feof($fic); $ligne = fgetcsv($fic, 1024)) {
      echo "<tr>";
      $j = sizeof($ligne);
      for ($i = 0; $i < $j; $i++) {
        echo "<td>$ligne[$i]</td>";
        }
      echo "</tr>";
      }
    echo "</table>\n";
    malheuresement je vois mal comment lui indiqué un champ précis dans le CSV pour qu'il aille puissé ses données et pondre le graphe


    d'ailleurs j'ai un autre soucis qui est que la librairie GD2 ne se lance plus sur EasyPHP donc pas moyen d'afficher les graphes
    j'ai d'ailleurs posté ici pour ceux que ça intéresse :
    http://www.developpez.net/forums/sho...58#post1599658


    en fait mon projet est simple:

    récupérer des données au format CSV (il peuvent etre aussi au format .txt c'est au choix) les traiter pour pondre des graphes avec Artichow.

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Comment est structuré ton csv ?

  3. #3
    Membre confirmé Avatar de M@XflY
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 95
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Period end;Duration;Sample;Corner;Line;Nb de Create PDP Roaming In;Nb de Create PDP Roaming In Fail;Ratio Create PDP Roaming In Fail;Nb de Crea PDP Roaming IN GTP V0;Nb T-PDU Roaming In;Nb T-PDU Roaming In UL;Nb T-PDU Roaming In DL;Ratio T-PDU Roaming In UL/DL;Length Roaming In T-PDU;Length T-PDU Roaming In UL;Length T-PDU Roaming In DL;Nb Creat PDP Imsi Non Identifiés;Nb de T-PDU Imsi Non Identifiés;Length T-PDU Imsi Non Identifiés;DR Status;DR Status Nok;Ratio DR Status Nok;DR Status CP;DR Status CP Nok;Ratio DR Status CP Nok
    13/11/2006 00:00;900;1;-;all;684;224;32,74;44;202141;91734;110407;83,08;76013478;16343861;59669617;137;890419;287195441;1093381;347;0,03;821;347;42,26
    13/11/2006 00:00;900;1;-;Bez3GgsnNok01;0;0;0;0;0;0;0;0;0;0;0;13;168946;47574160;168959;13;0;13;13;100

    comme ça
    j'ai préféré te poster un extrait plus tôt que de t'expliquer car ça évite les contre sens

    en gros pour tout te dire

    j'ai plusieurs colonnes
    je dois trier celle qui s'appelle : Line
    et trier que par nom identique (en gros ici Bez3GgsnNok01 par exemple)

    ensuite rajouter une colonne heure (de 00h00 à 00h00, tout les 1/4 d'h, soit un quart d'h par ligne)

    et faire le graphes entre la colonne heure et la colonne Nb de Create PDP , pour le premier graphes
    et pour le second graphes entre la colonne Nb T-PDU Roaming In et celle de l'heure
    ....
    faut toutes les faire

    soit l'heure en abscisse et le reste en ordonné

    ainsi de suite

    un petit tableau pour comprendre :

    Line | Nb de Create PDP | Nb T-PDU Roaming In | Heures |
    All | 684 | 45 | 00h00 |
    All | 455 | 85 | 00h15 |

    (j'espere que mon tableau est claire, car y a un décalage quand je poste)

    donc en gros
    je supose que le poste traitetement cad trier la colonne Line et rajouter la colonne heure (qui n'est pas d'origine) je peut pas le faire en php (ah moins que y ait moyen ?) se serait plus du VB.

    par contre je supose que y a moyen dans le script php d'Artichow de lui indiquer les colonnes qu'il doit prendre pour lui donner les points à mettre en abscisse et en ordonné ??

    merci d'avance pour votre aide.

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    VB ? Pas d'insultes s'il te plait.
    Php est tout à fait capable de répondre à ton besoin

  5. #5
    Membre confirmé Avatar de M@XflY
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 95
    Par défaut
    ok merci tu me rassure

    car je suis en train de migrer entierement sur Linux donc VB m'enchante pas trop

    par contre je vois pas trop comment faire tout ça aurait tu des tuto ou des conseils?

  6. #6
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    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
    <?php
    function parse_csv_file($file, $columnheadings = false, $delimiter = ',', $enclosure = "\"") {
     
           $row = 1;
           $rows = array();
           $handle = fopen($file, 'r');
     
           while (($data = fgetcsv($handle, 1000, $delimiter, $enclosure )) !== FALSE) {
     
               if (!($columnheadings == "false") && ($row == 1)) {
                   $headingTexts = $data;
               } elseif (!($columnheadings == "false")) {
                   foreach ($data as $key => $value) {
                       unset($data[$key]);
                       $data[$headingTexts[$key]] = $value;
                   }
                   $rows[] = $data;
               } else {
                   $rows[] = $data;
               }
               $row++;
           }
     
           fclose($handle);
           return $rows;
       }
     
    var_dump(parse_csv_file('/tmp/fichier.csv', true, ';'));
    ?>
    A partir de là ton fichier csv est stocké dans un tableau, une ligne pour une ligne avec la première qui stocke les entetes.
    Ensuite tu peux travailler dessus comme tout tableau qui se respecte et extraire les informations nécessaire à tes graphes...

  7. #7
    Membre confirmé Avatar de M@XflY
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 95
    Par défaut
    ok merci beaucoup

    je vais taffer sur ce script pour comprendre comment il fonctionne

    donc en gros je stocke toutes mes variables dans un tableau et à partir de là je peut faire des tries et prendre que ce qui m'intéresse ?

    par contre l'autre question que je me pose c'est de savoir si ce genre de traitement de données ainsi que Artichow sont capable de supporter la création de plusieurs 1000 de graphes (tous fait meme en temps vers minuit) ?

    car avec VB j'avais ce soucis, il m'ouvrait plusieurs centaine de fois Excel à chaque fois que j'avais des données à traiter et ça planter tres vite

Discussions similaires

  1. Graph avec plusieurs courbes - GD
    Par vargasvan dans le forum Modules
    Réponses: 4
    Dernier message: 11/05/2006, 14h47
  2. Mysql & mrtg : faire un graphe avec le contenu d'une tab
    Par fouhaa dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 12/08/2005, 13h38
  3. Graphe avec java
    Par alamihamza dans le forum 2D
    Réponses: 3
    Dernier message: 07/03/2005, 18h14
  4. [NetBeans] graphe avec netBeans :?:
    Par sofien dans le forum NetBeans
    Réponses: 1
    Dernier message: 28/02/2005, 20h54
  5. Affichage graphe avec DBChart
    Par grominetos dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/06/2004, 20h17

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