Graphique et base de données

Signaler
Messages postés
11
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
8 juin 2004
-
Messages postés
778
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
27 novembre 2008
-
Bonjour,

Apres avoir réalisé un graphique en courbe avec liaison a ma base de donnes (c'est à dire que les coordonées de ma courbe sont des valeurs récupérés dans ma base de données) je souhaite afficher les valeurs correspondantes sur mon graphiques a la place de 1,2,3,...,n .

y : ordonné ==> courssj (ces valeurs correspondent à des cours boursiers).

x : en abscisse ==> date (ces valeurs correspondent à des date de bourse).

En faite j'utilise la librairie jpgraph.

Merci d'avance pour votre aide.

2 réponses

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Après une fouille intensive du web et de la doc de jpgraph, j'ai trouvé cet exemple...

J'éspère que ca t'aideras
<?php
include "../jpgraph.php";
include "../jpgraph_line.php";
include "../jpgraph_scatter.php";
include "../jpgraph_regstat.php";

// Original data points
$xdata = array(1,3,5,7,9,12,15,17.1);
$ydata = array(5,1,9,6,4,3,19,12);

// Get the interpolated values by creating
// a new Spline object.
$spline = new Spline($xdata,$ydata);

// For the new data set we want 40 points to
// get a smooth curve.
list($newx,$newy) = $spline->Get(50);

// Create the graph
$g = new Graph(300,200);
$g->SetMargin(30,20,40,30);
$g->title->Set("Natural cubic splines");
$g->title->SetFont(FF_ARIAL,FS_NORMAL,12);
$g->subtitle->Set('(Control points shown in red)');
$g->subtitle->SetColor('darkred');
$g->SetMarginColor('lightblue');

//$g->img->SetAntiAliasing();

// We need a linlin scale since we provide both
// x and y coordinates for the data points.
$g->SetScale('linlin');

// We want 1 decimal for the X-label
$g->xaxis->SetLabelFormat('%1.1f');

// We use a scatterplot to illustrate the original
// contro points.
$splot = new ScatterPlot($ydata,$xdata);

//
$splot->mark->SetFillColor('red@0.3');
$splot->mark->SetColor('red@0.5');

// And a line plot to stroke the smooth curve we got
// from the original control points
$lplot = new LinePlot($newy,$newx);
$lplot->SetColor('navy');

// Add the plots to the graph and stroke
$g->Add($lplot);
$g->Add($splot);
$g->Stroke();

?>


@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
778
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
27 novembre 2008

salut salut

je sais pas si tu as trouve comment faire pour resortir des datas et realiser un graphe dynamque ....si tu as trouve tant mieux sinon voici un p'tit exemple !

jpgraph1.7 + sql serveur 2000 + php > 4

si tu veux tester cette exemple tu n'as juste qu'a changer les mssql .... par mysql c'est tout

ce code va te creer un graphique camenbert avec tes donnees issues de la db

voila

ciao

christophe

un bouillonnais

<?php
include ("../jpgraph.php");
include ("../jpgraph_pie.php");

$myServer = "localhost";
$myUser = "sa";
$myPass = "christophe";
$myDB = "asp";

$s = @mssql_connect($myServer, $myUser, $myPass)

or die("Couldn't connect to SQL Server on $myServer");

$d = @mssql_select_db($myDB, $s)
or die("Couldn't open database $myDB");

/*requete sql*/
$query = "select nom, age from graphesql order by age";
/* EXECUTION DE LA REQUETE QUERY*/
$result = mssql_query($query);

/*data graphe*/
if ($myrow=mssql_fetch_array($result)) {
do {
$data[] = $myrow["age"]; //contient age eleve
$data_names[] = $myrow["nom"]; //contient le nom
}while ($myrow=mssql_fetch_array($result));
}

$filename ="Mon test";
$PIE_TITLE ="un";
/*GRAPHIQUE*/
// Create the Pie Graph.
$graph = new PieGraph(520,400,$filename,60);
$graph->SetShadow();

// Set A title for the plot
$graph->title->Set($PIE_TITLE);
$graph->title->SetFont(FF_FONT1,FS_BOLD);

// Create
$p1 = new PiePlot($data);
$p1->SetCenter(0.35,0.5);
$p1->SetLegends($data_names);

$p1->SetTheme("earth");

$graph->Add($p1);
$graph->Stroke();

?>