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
| <?php
include ("jpgraph-3.5.0b1/src/jpgraph.php");
include ("jpgraph-3.5.0b1/src/jpgraph_line.php");
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', ' ');
define('MYSQL_PASS', ' ');
define('MYSQL_DATABASE', ' ');
$mois= date('M ');
$jour=date('d');
$tableau1 = array();
$tableau2 = array();
// *********************
// Production de données
// *********************
$sql="SELECT day as D FROM application WHERE id_stat='Station1' and day between '01' and '$jour' order by month ASC , day ASC,time ASC ;";
$sql_ventes_par_mois =" SELECT bat_level,time FROM application WHERE id_stat='Station1' AND day between '01' and '$jour' order by month ASC , day ASC,time ASC;";
$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($sql_ventes_par_mois, $mysqlCnx) or die('Pb de requête');
$mysqlQuery1 = @mysql_query($sql, $mysqlCnx) or die('Pb de requête');
while ($row1 = mysql_fetch_array($mysqlQuery, MYSQL_ASSOC)) {
$tableau1[] =$row1['bat_level'];
}
while ($row2 = mysql_fetch_array($mysqlQuery1, MYSQL_ASSOC)){
$tableau2[]=$row2['D'];
}
// ***********************
// Création du graphique
// ***********************
// Création du conteneur
$graph = new Graph(400,200);
// Fixer les marges
$graph->img->SetMargin(50,40,50,40);
// 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("");
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->SetTickLabels($tableau2);
// Ajouter la courbe au conteneur
$graph->Add($courbe);
$graph->Stroke();
?> |
Partager