Graphiques en php [Fermé]

Signaler
Messages postés
270
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
25 janvier 2016
-
 docRoms -
Bonjour,

Je souhaite faire des graphiques pour des representations mathematiques
style sin(x) etc ... comment proceder ?

merci de tout coeur !


17 réponses

Messages postés
18375
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
16 février 2020
4 140
Ce ne sont pas de graves erreurs.
Tu peux modifier les alertes à afficher, en retirant les deprecated et les notices.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 87043 internautes nous ont dit merci ce mois-ci


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 !
Messages postés
270
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
25 janvier 2016
4
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
Messages postés
18375
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
16 février 2020
4 140
Messages postés
270
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
25 janvier 2016
4
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 !
Messages postés
270
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
25 janvier 2016
4
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
Messages postés
18375
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
16 février 2020
4 140
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
Messages postés
270
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
25 janvier 2016
4
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
Messages postés
18375
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
16 février 2020
4 140
Où inclus-tu la bibliothèque ?
Le code que tu me montres provient d'Artichow. Et 2 messages avant, tu essayais d'inclure pChart ...
Messages postés
270
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
25 janvier 2016
4
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 ?
Messages postés
18375
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
16 février 2020
4 140
Pour les erreurs, je t'ai dit que tu peux modifier les alertes à afficher.
http://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.
Messages postés
270
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
25 janvier 2016
4
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
Messages postés
18375
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
16 février 2020
4 140
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 />

http://jpgraph.net/download/manuals/
Messages postés
270
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
25 janvier 2016
4
tres bien !
maintenant comment representer:
f(x)= sin(x)/tan(1-sqr(x)) * log(x-4) + 2-atan(x/4) ?
par exemple

thanks
Messages postés
18375
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
16 février 2020
4 140
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.

http://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.
Messages postés
270
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
25 janvier 2016
4
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) .