Graphiques en php
cgershon
Messages postés
288
Statut
Membre
-
docRoms -
docRoms -
Bonjour,
Je souhaite faire des graphiques pour des representations mathematiques
style sin(x) etc ... comment proceder ?
merci de tout coeur !
Je souhaite faire des graphiques pour des representations mathematiques
style sin(x) etc ... comment proceder ?
merci de tout coeur !
17 réponses
-
Ce ne sont pas de graves erreurs.
Tu peux modifier les alertes à afficher, en retirant les deprecated et les notices. -
Tu prends un artichaut !
Non je plaisante, c'est le nom de la librairie (des sortes d'extensions pour php) qui permet de faire simplement des très beaux graphiques :
http://www.artichow.org/
Et ya même le sinus !!!
A bientôt ! -
Merci pour ta reponse rd_9 ,
Je suis entre sur leur site mais quand je lance le forum je recois:
No database selected: select * from phorum_settings
sais -tu qu'est-ce qu'il faut faire ?
je ne souhaite pas utiliser une librairie sans forum pour assistance...
Merci -
Salut.
Il suffit de chercher un peu sur Google.
http://pchart.sourceforge.net/
http://code.google.com/intl/fr-FR/apis/chart/ (via URL)
https://www.amcharts.com/ (Flash)
http://www.splashnology.com/blog/javascripts/290.html (Javascript) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
merci avion-f16
maism voila l'appli de google me parait compliquee
je ne vaeux pas de javascript et non plus de flash
le seul restant est pchart : je l'ai charge mais quand j'execute un exemple sous
wamp j'obtient :
Deprecated: Function split() is deprecated in C:\wamp\www\Graphique\pChart.1.27d\pChart\pData.class on line 75
Notice: Uninitialized string offset: 0 in C:\wamp\www\Graphique\pChart.1.27d\pChart\pData.class on line 127
alors quoi faire ?
je n'ai pas reussi a mettre en oeuvre Artichow! j'obtient du dgibrish a la place des graphiques
Au secours ! -
je vais essaye , mais toi tu l'a deja essaye ?
si oui peux tu m'expliquer en gros comment l'inserer dans un script HTML ?
merci -
Il faut indiquer dans l'attribut src de la balise <img /> l'URL du script PHP qui génère le graphique.
La documentation :
http://pchart.sourceforge.net/documentation.php -
Avion-f16 je suis desole mais je n'arrive pas a afficher un graphique meme avec
'<img src="image.php" width="200" height="200" alt="">
ou image.php contient le script :
$graph = new Graph(300, 300);
$plot = new MathPlot(-3, 3, 3, -3);
$plot->setInterval(0.2);
$plot->setPadding(NULL, NULL, NULL, 20);
$function = new MathFunction('cos');
$function->setColor(new DarkGreen);
$function->mark->setType(Mark::SQUARE);
$function->mark->setSize(3);
$plot->add($function, "f(x) = cos(x)", Legend::MARK);
$plot->legend->setPosition(0.9, 0.8);
$plot->legend->setPadding(3, 3, 3, 3, 3);
$graph->add($plot);
$graph->draw();
as-tu une atre idee ?
merci -
Où inclus-tu la bibliothèque ?
Le code que tu me montres provient d'Artichow. Et 2 messages avant, tu essayais d'inclure pChart ... -
Oui c'est vrai je me suis trompe mais cela ne change rien
en mettant un script de pchart je tombe sur des erreurs :
<?php
/*
Example5 : A limits graph
*/
// Standard inclusions
include("pChart/pData.class");
include("pChart/pChart.class");
// Dataset definition
$DataSet = new pData;
$DataSet->AddPoint(array(1,4,-3,2,-3,3,2,1,0,7,4,-3,2,-3,3,5,1,0,7),"Serie1","");
$DataSet->AddPoint(array(2,5,7,5,1,5,6,4,8,4,0,2,5,6,4,5,6,7,6),"Serie2","");
$DataSet->AddAllSeries();
$DataSet->SetAbsciseLabelSerie();
$DataSet->SetSerieName("January","Serie1");
$DataSet->SetSerieName("February","Serie2");
// Initialise the graph
$Test = new pChart(700,230);
$Test->setFontProperties("Fonts/tahoma.ttf",8);
$Test->setGraphArea(50,30,585,200);
$Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
$Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
$Test->drawGraphArea(255,255,255,TRUE);
$Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);
$Test->drawGrid(4,TRUE,230,230,230,50);
// Draw the 0 line
$Test->setFontProperties("Fonts/tahoma.ttf",6);
$Test->drawTreshold(0,143,55,72,TRUE,TRUE);
// Draw the limit graph
$Test->drawLimitsGraph($DataSet->GetData(),$DataSet->GetDataDescription(),180,180,180);
// Finish the graph
$Test->setFontProperties("Fonts/tahoma.ttf",8);
$Test->drawLegend(600,30,$DataSet->GetDataDescription(),255,255,255);
$Test->setFontProperties("Fonts/tahoma.ttf",10);
$Test->drawTitle(50,22,"Example 5",50,50,50,585);
$Test->Render("example2.png");
?>
Notice: Undefined index: Name in C:\wamp\www\pChart\pChart.class on line 594
/* Horizontal Axis */
$XPos = $this->GArea_X1 + $this->GAreaXOffset;
$ID = 1; $YMax = NULL;
foreach ( $Data as $Key => $Values )
{
if ( $ID % $SkipLabels == 0 )
{
$this->drawLine(floor($XPos),$this->GArea_Y2,floor($XPos),$this->GArea_Y2+5,$R,$G,$B);
$Value = $Data[$Key][$DataDescription["Position"]]; <-ligne594
if ( $DataDescription["Format"]["X"] == "number" )
$Value = $Value.$DataDescription["Unit"]["X"];
if ( $DataDescription["Format"]["X"] == "time" )
$Value = $this->ToTime($Value);
if ( $DataDescription["Format"]["X"] == "date" )
$Value = $this->ToDate($Value);
if ( $DataDescription["Format"]["X"] == "metric" )
$Value = $this->ToMetric($Value);
if ( $DataDescription["Format"]["X"] == "currency" )
$Value = $this->ToCurrency($Value);
$Position = imageftbbox($this->FontSize,$Angle,$this->FontName,$Value);
$TextWidth = abs($Position[2])+abs($Position[0]);
$TextHeight = abs($Position[1])+abs($Position[3]);
c'est quoi ce probleme ? -
Pour les erreurs, je t'ai dit que tu peux modifier les alertes à afficher.
https://www.php.net/manual/fr/function.error-reporting.php
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire. -
Bien mais entre temps je suis passe a jpgraph (tu connais ?).
je suis arrivé a afficher des exemples de graphiques seulement
dans une nouvelle fenetre en passant par une forme:
<form name="form1" method="post" action="bezierex1.php" >
<input value="Graph" align="left" type="submit">
</form>
ce que je souhaite c'est de l'afficher dans mon document HTML et pas dans une nouvelle fenetre.
est-il possible de transformer ce graphique contenu dans une fenetre en une image PNG qui s'afficherai dans mon document?
merci -
Le script PHP génère une image, et seulement une image, pas une page HTML.
Donc tu peux indiquer le script PHP dans l'attribut src de la balise <img />
https://jpgraph.net/download/manuals/ -
tres bien !
maintenant comment representer:
f(x)= sin(x)/tan(1-sqr(x)) * log(x-4) + 2-atan(x/4) ?
par exemple
thanks -
Les graphiques ne servent pas à représenter des fonctions, il faut utiliser des données.
Tu peux calculer y en fonction de plusieurs valeurs de x, et ensuite utiliser les couples pour créer le graphique.
https://jpgraph.net/download/manuals/chunkhtml/ch14.html
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
Bonnes fêtes de fin d'année à tous. -
Oui mais on peut automatiser l'entree des donnees dans les array[]
en tenant compte du lieu geometrique du graphique (x0,y0)=centre
X=x-x0
Y=y-y0
for(n=0;n<nmax;n++){
array[X1,X2,....Xn]
array[]Y1,Y2,....Yn]
}
f(x)=y;
function point($source,max,$x1,$y1,yx2,y2,$color){
for($i = 0;$i<=max;$i++){
imageline($source,$x1,$y1,$x2,$y2);
}
quelque chose dans ce genre .... mais j'ai pas le temps de reflechir .... -
il ya aussi la librairie graphique pChart en php -> http://www.pchart.net/
(documentation en anglais) .