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

Langage PHP Discussion :

histogramme en php


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Femme Profil pro
    etudiante
    Inscrit en
    Février 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : etudiante
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut histogramme en php
    Salut
    J'ai crée mon code php afin d'obtenir un histogramme pour afficher la temperature durant tout un mois. Je veux lorsque je passe la souris sur la courbe, il m'affiche la valeur de temperature et le temps concerné.
    Qu'est ce je dois ajouter dans mon code php pour avoir cette fonctionnalité???
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    <?php
    include ("jpgraph-3.5.0b1/src/jpgraph.php");
    include ("jpgraph-3.5.0b1/src/jpgraph_line.php");
    define('MYSQL_HOST', '****');
    define('MYSQL_USER', '***');
    define('MYSQL_PASS', '***');
    define('MYSQL_DATABASE', '***');
     
    $mois= date('D M Y');
    $jour=date('d');
    $tableau1 = array(); 
    $tableau2 = array(); 
    // *********************
    // Production de données
    // *********************
     
    $sql1 =" SELECT time as T  FROM table WHERE id_stat='S1' and day ='$jour' order by  day ASC,time ASC;";
    $sql2 =" SELECT bat  FROM table WHERE id_stat='S1' and day ='$jour' ;";
     
     
    $mysqlCnx = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Pb de connxion mysql');
     
    @mysql_select_db(MYSQL_DATABASE) or die('Pb de sélection de la base');
     
    // Initialiser le tableau à 0 pour chaques mois ***********************
     
     
    $mysqlQuery = @mysql_query($sql1, $mysqlCnx) or die('Pb de requête');
    $mysqlQuery1 = @mysql_query($sql2, $mysqlCnx) or die('Pb de requête');
     
     
    while ($row2 = mysql_fetch_array($mysqlQuery,  MYSQL_ASSOC)) {
    	$tableau2[] =$row2['T'];
    	}
     
    	while ($row1= mysql_fetch_array($mysqlQuery1,  MYSQL_ASSOC)) {
    	$tableau1[] =$row1['bat'];
     
    }
    // Contrôler les valeurs du tableau
    // printf('<pre>%s</pre>', print_r($tableauVentes2006,1));
     
    // ***********************
    // Création du graphique
    // ***********************
     
    // Création du conteneur
    $graph = new Graph(800,200);
     
    // Fixer les marges
    $graph->img->SetMargin(40,80,50,60);    
     
    // Mettre une image en fond
    //$graph->SetBackgroundImage("fond.jpg",BGIMG_FILLFRAME);
     
    // Lissage sur fond blanc (évite la pixellisation)
    $graph->img->SetAntiAliasing("white");
     
    // A détailler
    $graph->SetScale("textlin");
     
    // Ajouter une ombre
    $graph->SetShadow();
     
    // Ajouter le titre du graphique
    $graph->title->Set("Graphical Curve Of Battery Level : %");
     
    // Afficher la grille de l'axe des ordonnées
    $graph->ygrid->Show();
    // Fixer la couleur de l'axe (bleu avec transparence : @0.7)
    $graph->ygrid->SetColor('blue@0.7');
    // Des tirets pour les lignes
    $graph->ygrid->SetLineStyle('dashed');
     
    // Afficher la grille de l'axe des abscisses
    $graph->xgrid->Show();
    // Fixer la couleur de l'axe (rouge avec transparence : @0.7)
    $graph->xgrid->SetColor('red@0.7');
    // Des tirets pour les lignes
    $graph->xgrid->SetLineStyle('dashed');
     
    // Apparence de la police
    $graph->title->SetFont(FF_ARIAL,FS_BOLD,11);
     
    // Créer une courbes
    $courbe = new LinePlot($tableau1);
     
    // Afficher les valeurs pour chaque point
    $courbe->value->Show();
     
    // Valeurs: Apparence de la police
    $courbe->value->SetFont(FF_ARIAL,FS_NORMAL,9);
    $courbe->value->SetFormat('%d');
    $courbe->value->SetColor("red");
     
    // Chaque point de la courbe ****
    // Type de point
    $courbe->mark->SetType(MARK_FILLEDCIRCLE);
    // Couleur de remplissage
    $courbe->mark->SetFillColor("blue");
    // Taille
    $courbe->mark->SetWidth(2);
     
    // Couleur de la courbe
    $courbe->SetColor("blue");
    $courbe->SetCenter();
     
    // Paramétrage des axes
    $graph->xaxis->title->Set("$mois");
    //$graph->yaxis->title->Set("Battery level:%");
    $graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
    $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
    $graph->xaxis->SetTickLabels($tableau2);
    $graph->xaxis->SetLabelAngle(45);
    //$graph->yaxis->SetTickLabels($tableau1);
    // Ajouter la courbe au conteneur
    $graph->Add($courbe);
     
    $graph->Stroke();
    ?>

    Merci d'avance!!
    Images attachées Images attachées  

  2. #2
    Membre confirmé Avatar de Lunixinclar
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 416
    Points : 489
    Points
    489
    Par défaut
    Salut on dirait que ce moteur de graphiques produit une image... Donc dur dur.

    J'utilise highcharts ... PHP ne sert qu'à générer une série de points stockés dans un fichier json. Jette un oeil à leur site ce n'est pas la même limonade.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    Impossible en php puisque les librairie graphique php vont générer une simple image.

    Comme le dis Lunixinclar si tu veux de l'intéractivité il faut regarder du coté de javascript (highchart) ou de flash (open flash charts 2)

Discussions similaires

  1. [PostgreSQL] histogramme avec php
    Par attarbya87 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 27/07/2011, 17h00
  2. [MySQL] php et statistiques ( histogramme- cammenbert é é)
    Par redoran dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 14/02/2011, 12h59
  3. [Graphique] Histogrammes dynamiques avec du php
    Par dimainfo dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 30/04/2009, 18h45
  4. [Artichow] Création d'histogrammes en PHP
    Par gabi27685 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/05/2008, 17h29
  5. [Images] créations d' Histogrammes PHP
    Par friiitz dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 08/06/2006, 10h51

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