Graphique et base de données

cs_jeremy77 Messages postés 11 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 8 juin 2004 - 8 juin 2004 à 14:56
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 18 oct. 2004 à 18:17
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

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
8 juin 2004 à 19:42
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???"
0
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
18 oct. 2004 à 18:17
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();

?>
0
Rejoignez-nous