Graphiques en php

Fermé
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 - 21 déc. 2010 à 13:11
 docRoms - 21 janv. 2011 à 12:26
Bonjour,

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

merci de tout coeur !


A voir également:

17 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
23 déc. 2010 à 17:01
Ce ne sont pas de graves erreurs.
Tu peux modifier les alertes à afficher, en retirant les deprecated et les notices.
1
Utilisateur anonyme
21 déc. 2010 à 13:14
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 !
0
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4
22 déc. 2010 à 12:50
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
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
22 déc. 2010 à 23:38
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4
23 déc. 2010 à 16:48
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 !
0
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4
23 déc. 2010 à 19:21
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
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
23 déc. 2010 à 20:10
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
0
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4
24 déc. 2010 à 13:19
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
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
24 déc. 2010 à 15:07
Où inclus-tu la bibliothèque ?
Le code que tu me montres provient d'Artichow. Et 2 messages avant, tu essayais d'inclure pChart ...
0
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4
25 déc. 2010 à 22:49
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 ?
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
Modifié par avion-f16 le 25/12/2010 à 22:55
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.
0
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4
26 déc. 2010 à 10:28
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
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
26 déc. 2010 à 13:54
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/
0
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4
26 déc. 2010 à 20:39
tres bien !
maintenant comment representer:
f(x)= sin(x)/tan(1-sqr(x)) * log(x-4) + 2-atan(x/4) ?
par exemple

thanks
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
Modifié par avion-f16 le 26/12/2010 à 22:52
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.
0
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4
27 déc. 2010 à 09:53
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 ....
0
il ya aussi la librairie graphique pChart en php -> http://www.pchart.net/
(documentation en anglais) .
0